aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2011-04-02 00:40:13 -0700
committerPaul Eggert2011-04-02 00:40:13 -0700
commita37c69bff68c15220b7f737a721ff7e1d3291b9e (patch)
tree0f1fcc8b7c60afcc2f8a276dc1fe72984c985d08 /src
parent328ab8e7b550b2d3ae188c0ddfb174db32b0387c (diff)
downloademacs-a37c69bff68c15220b7f737a721ff7e1d3291b9e.tar.gz
emacs-a37c69bff68c15220b7f737a721ff7e1d3291b9e.zip
* minibuf.c (read_minibuf_noninteractive): Use size_t for sizes.
Check for integer overflow on size calculations.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog3
-rw-r--r--src/minibuf.c4
2 files changed, 6 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a470962d74d..73be884837f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,8 @@
12011-04-02 Paul Eggert <eggert@cs.ucla.edu> 12011-04-02 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes.
4 Check for integer overflow on size calculations.
5
3 * buffer.c (Fprevious_overlay_change): Remove var that is set 6 * buffer.c (Fprevious_overlay_change): Remove var that is set
4 but not used. 7 but not used.
5 8
diff --git a/src/minibuf.c b/src/minibuf.c
index 4adf665f8f4..54cb9c1acd7 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -229,7 +229,7 @@ read_minibuf_noninteractive (Lisp_Object map, Lisp_Object initial,
229 Lisp_Object defalt, 229 Lisp_Object defalt,
230 int allow_props, int inherit_input_method) 230 int allow_props, int inherit_input_method)
231{ 231{
232 int size, len; 232 size_t size, len;
233 char *line, *s; 233 char *line, *s;
234 Lisp_Object val; 234 Lisp_Object val;
235 235
@@ -244,6 +244,8 @@ read_minibuf_noninteractive (Lisp_Object map, Lisp_Object initial,
244 && (len = strlen (line), 244 && (len = strlen (line),
245 len == size - 1 && line[len - 1] != '\n')) 245 len == size - 1 && line[len - 1] != '\n'))
246 { 246 {
247 if ((size_t) -1 / 2 < size)
248 memory_full ();
247 size *= 2; 249 size *= 2;
248 line = (char *) xrealloc (line, size); 250 line = (char *) xrealloc (line, size);
249 } 251 }