From: Dmitry Antipov <dmantipov@yandex.ru>
Date: Sat, 13 Sep 2014 04:41:54 +0000 (+0400)
Subject: Prefer ptrdiff_t to int and avoid integer overflows.
X-Git-Tag: emacs-25.0.90~2635^2~679^2~301
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=55998321452ca84a5e6be71c97063d8514cd8668;p=emacs.git

Prefer ptrdiff_t to int and avoid integer overflows.
* fileio.c (make_temp_name):
* font.c (font_parse_family_registry): Avoid integer
overflow on string size calculation.
* data.c (Faset): Likewise for byte index.
---

diff --git a/src/ChangeLog b/src/ChangeLog
index 7b40f87348a..cb3aa8c7fe3 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
+2014-09-13  Dmitry Antipov  <dmantipov@yandex.ru>
+
+	Prefer ptrdiff_t to int and avoid integer overflows.
+	* fileio.c (make_temp_name):
+	* font.c (font_parse_family_registry): Avoid integer
+	overflow on string size calculation.
+	* data.c (Faset): Likewise for byte index.
+
 2014-09-12  Detlev Zundel  <dzu@member.fsf.org>
 
 	* buffer.c (syms_of_buffer): DEFSYM Qchoice (Bug#18337).
@@ -15,7 +23,7 @@
 	* lread.c (readevalloop_eager_expand_eval): Add GCPRO and fix
 	bootstrap broken if GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
 
-	Remove redundant GCPROs around Ffuncall and Fapply calls. This
+	Remove redundant GCPROs around Ffuncall and Fapply calls.  This
 	is safe because Ffuncall protects all of its arguments by itself.
 	* charset.c (map_charset_for_dump): Remove redundant GCPRO.
 	* eval.c (Fapply, apply1, call0, call1, call2, call3, call4, call5)
diff --git a/src/data.c b/src/data.c
index fd515af5003..5b8e01e2950 100644
--- a/src/data.c
+++ b/src/data.c
@@ -2310,7 +2310,7 @@ bool-vector.  IDX starts at 0.  */)
 	{
 	  if (! SINGLE_BYTE_CHAR_P (c))
 	    {
-	      int i;
+	      ptrdiff_t i;
 
 	      for (i = SBYTES (array) - 1; i >= 0; i--)
 		if (SREF (array, i) >= 0x80)
diff --git a/src/fileio.c b/src/fileio.c
index f98cdc5d3e4..0626bd3653a 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -728,7 +728,7 @@ Lisp_Object
 make_temp_name (Lisp_Object prefix, bool base64_p)
 {
   Lisp_Object val, encoded_prefix;
-  int len;
+  ptrdiff_t len;
   printmax_t pid;
   char *p, *data;
   char pidbuf[INT_BUFSIZE_BOUND (printmax_t)];
diff --git a/src/font.c b/src/font.c
index 46fc51bd5ad..412cd3f938d 100644
--- a/src/font.c
+++ b/src/font.c
@@ -1761,7 +1761,7 @@ font_parse_name (char *name, ptrdiff_t namelen, Lisp_Object font)
 void
 font_parse_family_registry (Lisp_Object family, Lisp_Object registry, Lisp_Object font_spec)
 {
-  int len;
+  ptrdiff_t len;
   char *p0, *p1;
 
   if (! NILP (family)