From 005aff709292db4fda0c39e7ed512f064bb7d1a9 Mon Sep 17 00:00:00 2001 From: Dmitry Antipov Date: Tue, 16 Sep 2014 08:07:51 +0400 Subject: [PATCH] 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. --- src/ChangeLog | 6 ++++++ src/data.c | 2 +- src/fileio.c | 2 +- src/font.c | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index fe771fd8f74..915a53f7e6e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -9,6 +9,12 @@ (apply_lambda): Likewise. Get current specpdl level as 3rd arg. (do_debug_on_call): Get current specpdl level as 2nd arg. + 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-15 Eli Zaretskii Fix display of R2L lines in partial-width windows. diff --git a/src/data.c b/src/data.c index 5aeb24b16dc..f02b4588ad0 100644 --- a/src/data.c +++ b/src/data.c @@ -2248,7 +2248,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 261928dd821..b4653017b28 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -733,7 +733,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 afa138003f2..470fa1adc11 100644 --- a/src/font.c +++ b/src/font.c @@ -1724,7 +1724,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) -- 2.39.2