aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2011-04-19 00:22:13 -0700
committerPaul Eggert2011-04-19 00:22:13 -0700
commit640ee02d548592fda4d274487ef2fdc3873dfc7b (patch)
tree979af1c451bc355895fccf8731063e2371990c31 /src
parent6048fb2a5ade88f36ff1e50eb113726c610115d0 (diff)
downloademacs-640ee02d548592fda4d274487ef2fdc3873dfc7b.tar.gz
emacs-640ee02d548592fda4d274487ef2fdc3873dfc7b.zip
* lread.c (openp): Don't stuff size_t into an 'int'.
Use <= on length, not < on length + 1, to avoid GCC 4.6.0 warning about possible signed overflow.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/lread.c14
2 files changed, 11 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index d1ab9c4961e..5c6fa587b44 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,9 @@
12011-04-19 Paul Eggert <eggert@cs.ucla.edu> 12011-04-19 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 * lread.c (openp): Don't stuff size_t into an 'int'.
4 Use <= on length, not < on length + 1, to avoid GCC 4.6.0 warning
5 about possible signed overflow.
6
3 * gtkutil.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10. 7 * gtkutil.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10.
4 (GDK_KEY_g): Don't define if already defined. 8 (GDK_KEY_g): Don't define if already defined.
5 (xg_prepare_tooltip): Avoid pointer signedness problem. 9 (xg_prepare_tooltip): Avoid pointer signedness problem.
diff --git a/src/lread.c b/src/lread.c
index d32f0b6a7e2..2f01b931e61 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -1411,16 +1411,16 @@ int
1411openp (Lisp_Object path, Lisp_Object str, Lisp_Object suffixes, Lisp_Object *storeptr, Lisp_Object predicate) 1411openp (Lisp_Object path, Lisp_Object str, Lisp_Object suffixes, Lisp_Object *storeptr, Lisp_Object predicate)
1412{ 1412{
1413 register int fd; 1413 register int fd;
1414 int fn_size = 100; 1414 EMACS_INT fn_size = 100;
1415 char buf[100]; 1415 char buf[100];
1416 register char *fn = buf; 1416 register char *fn = buf;
1417 int absolute = 0; 1417 int absolute = 0;
1418 int want_size; 1418 EMACS_INT want_length;
1419 Lisp_Object filename; 1419 Lisp_Object filename;
1420 struct stat st; 1420 struct stat st;
1421 struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5, gcpro6; 1421 struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5, gcpro6;
1422 Lisp_Object string, tail, encoded_fn; 1422 Lisp_Object string, tail, encoded_fn;
1423 int max_suffix_len = 0; 1423 EMACS_INT max_suffix_len = 0;
1424 1424
1425 CHECK_STRING (str); 1425 CHECK_STRING (str);
1426 1426
@@ -1454,11 +1454,11 @@ openp (Lisp_Object path, Lisp_Object str, Lisp_Object suffixes, Lisp_Object *sto
1454 continue; 1454 continue;
1455 } 1455 }
1456 1456
1457 /* Calculate maximum size of any filename made from 1457 /* Calculate maximum length of any filename made from
1458 this path element/specified file name and any possible suffix. */ 1458 this path element/specified file name and any possible suffix. */
1459 want_size = max_suffix_len + SBYTES (filename) + 1; 1459 want_length = max_suffix_len + SBYTES (filename);
1460 if (fn_size < want_size) 1460 if (fn_size <= want_length)
1461 fn = (char *) alloca (fn_size = 100 + want_size); 1461 fn = (char *) alloca (fn_size = 100 + want_length);
1462 1462
1463 /* Loop over suffixes. */ 1463 /* Loop over suffixes. */
1464 for (tail = NILP (suffixes) ? Fcons (empty_unibyte_string, Qnil) : suffixes; 1464 for (tail = NILP (suffixes) ? Fcons (empty_unibyte_string, Qnil) : suffixes;