]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid more integer overflows on string size calculations.
authorDmitry Antipov <dmantipov@yandex.ru>
Tue, 16 Sep 2014 11:43:49 +0000 (15:43 +0400)
committerDmitry Antipov <dmantipov@yandex.ru>
Tue, 16 Sep 2014 11:43:49 +0000 (15:43 +0400)
* category.c (Fmake_category_set):
* xdisp.c (get_overlay_arrow_glyph_row):
* w32font.c (intern_font_name): Prefer ptrdiff_t to int.

src/ChangeLog
src/category.c
src/w32font.c
src/xdisp.c

index a920ac1b970bf931046fb1b5add2cff978f1b5da..2d5de9be5d8a1ed650db80ed3b42eb53febccd59 100644 (file)
        (x_clipboard_manager_save_all):
        * xterm.c (x_term_init): Use build_local_string.
 
+       Avoid more integer overflows on string size calculations.
+       * category.c (Fmake_category_set):
+       * xdisp.c (get_overlay_arrow_glyph_row):
+       * w32font.c (intern_font_name): Prefer ptrdiff_t to int.
+
 2014-09-15  Eli Zaretskii  <eliz@gnu.org>
 
        * sound.c [WINDOWSNT]: Include w32common.h and mbstring.h.
index 851ae1a4c2421a439522279bcce08b6c7c6cefc5..a4610e4d358262fa8fbae946cf7b8f093ca0a0ec 100644 (file)
@@ -96,7 +96,7 @@ those categories.  */)
   (Lisp_Object categories)
 {
   Lisp_Object val;
-  int len;
+  ptrdiff_t len;
 
   CHECK_STRING (categories);
   val = MAKE_CATEGORY_SET;
index de0732dd4da39c9708d865c11d5a63b4482d900a..24666ad97c712b487dd3998c11dbb8c2f68d0a91 100644 (file)
@@ -287,7 +287,7 @@ Lisp_Object
 intern_font_name (char * string)
 {
   Lisp_Object str = DECODE_SYSTEM (build_string (string));
-  int len = SCHARS (str);
+  ptrdiff_t len = SCHARS (str);
   Lisp_Object obarray = check_obarray (Vobarray);
   Lisp_Object tem = oblookup (obarray, SDATA (str), len, len);
   /* This code is similar to intern function from lread.c.  */
index b697b803049a9ef1caa278b1ac768c60be726466..3a895164fe251f0ed84e10a7df1ee4276041c5b7 100644 (file)
@@ -18858,7 +18858,7 @@ get_overlay_arrow_glyph_row (struct window *w, Lisp_Object overlay_arrow_string)
   struct buffer *buffer = XBUFFER (w->contents);
   struct buffer *old = current_buffer;
   const unsigned char *arrow_string = SDATA (overlay_arrow_string);
-  int arrow_len = SCHARS (overlay_arrow_string);
+  ptrdiff_t arrow_len = SCHARS (overlay_arrow_string);
   const unsigned char *arrow_end = arrow_string + arrow_len;
   const unsigned char *p;
   struct it it;