aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Antipov2014-09-16 15:43:49 +0400
committerDmitry Antipov2014-09-16 15:43:49 +0400
commit3e67a981c4f45cf960a93e31010253b33bcdbaf5 (patch)
treebbae14abf04e5443af7644b89ed5c60d69971af1
parentb98b1a831bcfc89f038cbb8048c6969d8c73ab28 (diff)
downloademacs-3e67a981c4f45cf960a93e31010253b33bcdbaf5.tar.gz
emacs-3e67a981c4f45cf960a93e31010253b33bcdbaf5.zip
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.
-rw-r--r--src/ChangeLog5
-rw-r--r--src/category.c2
-rw-r--r--src/w32font.c2
-rw-r--r--src/xdisp.c2
4 files changed, 8 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a920ac1b970..2d5de9be5d8 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -16,6 +16,11 @@
16 (x_clipboard_manager_save_all): 16 (x_clipboard_manager_save_all):
17 * xterm.c (x_term_init): Use build_local_string. 17 * xterm.c (x_term_init): Use build_local_string.
18 18
19 Avoid more integer overflows on string size calculations.
20 * category.c (Fmake_category_set):
21 * xdisp.c (get_overlay_arrow_glyph_row):
22 * w32font.c (intern_font_name): Prefer ptrdiff_t to int.
23
192014-09-15 Eli Zaretskii <eliz@gnu.org> 242014-09-15 Eli Zaretskii <eliz@gnu.org>
20 25
21 * sound.c [WINDOWSNT]: Include w32common.h and mbstring.h. 26 * sound.c [WINDOWSNT]: Include w32common.h and mbstring.h.
diff --git a/src/category.c b/src/category.c
index 851ae1a4c24..a4610e4d358 100644
--- a/src/category.c
+++ b/src/category.c
@@ -96,7 +96,7 @@ those categories. */)
96 (Lisp_Object categories) 96 (Lisp_Object categories)
97{ 97{
98 Lisp_Object val; 98 Lisp_Object val;
99 int len; 99 ptrdiff_t len;
100 100
101 CHECK_STRING (categories); 101 CHECK_STRING (categories);
102 val = MAKE_CATEGORY_SET; 102 val = MAKE_CATEGORY_SET;
diff --git a/src/w32font.c b/src/w32font.c
index de0732dd4da..24666ad97c7 100644
--- a/src/w32font.c
+++ b/src/w32font.c
@@ -287,7 +287,7 @@ Lisp_Object
287intern_font_name (char * string) 287intern_font_name (char * string)
288{ 288{
289 Lisp_Object str = DECODE_SYSTEM (build_string (string)); 289 Lisp_Object str = DECODE_SYSTEM (build_string (string));
290 int len = SCHARS (str); 290 ptrdiff_t len = SCHARS (str);
291 Lisp_Object obarray = check_obarray (Vobarray); 291 Lisp_Object obarray = check_obarray (Vobarray);
292 Lisp_Object tem = oblookup (obarray, SDATA (str), len, len); 292 Lisp_Object tem = oblookup (obarray, SDATA (str), len, len);
293 /* This code is similar to intern function from lread.c. */ 293 /* This code is similar to intern function from lread.c. */
diff --git a/src/xdisp.c b/src/xdisp.c
index b697b803049..3a895164fe2 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -18858,7 +18858,7 @@ get_overlay_arrow_glyph_row (struct window *w, Lisp_Object overlay_arrow_string)
18858 struct buffer *buffer = XBUFFER (w->contents); 18858 struct buffer *buffer = XBUFFER (w->contents);
18859 struct buffer *old = current_buffer; 18859 struct buffer *old = current_buffer;
18860 const unsigned char *arrow_string = SDATA (overlay_arrow_string); 18860 const unsigned char *arrow_string = SDATA (overlay_arrow_string);
18861 int arrow_len = SCHARS (overlay_arrow_string); 18861 ptrdiff_t arrow_len = SCHARS (overlay_arrow_string);
18862 const unsigned char *arrow_end = arrow_string + arrow_len; 18862 const unsigned char *arrow_end = arrow_string + arrow_len;
18863 const unsigned char *p; 18863 const unsigned char *p;
18864 struct it it; 18864 struct it it;