summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Antipov <dmantipov@yandex.ru>2014-09-16 08:07:51 +0400
committerDmitry Antipov <dmantipov@yandex.ru>2014-09-16 08:07:51 +0400
commit005aff709292db4fda0c39e7ed512f064bb7d1a9 (patch)
tree505e9f859a7b09d58e9037c8f32824d63e86e1b5
parentccb767d639543d70ac689c93eb64849eea376583 (diff)
downloademacs-005aff709292db4fda0c39e7ed512f064bb7d1a9.tar.gz
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.
-rw-r--r--src/ChangeLog6
-rw-r--r--src/data.c2
-rw-r--r--src/fileio.c2
-rw-r--r--src/font.c2
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 <eliz@gnu.org>
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)