aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2011-06-18 08:08:31 -0700
committerPaul Eggert2011-06-18 08:08:31 -0700
commita498d7f4f8ce688079d32cac4858ba78d2a9081e (patch)
tree59401c8f2b98c24cd4983b73923a738be1c50b11 /src
parente39e811eb8c4058facadcc0beea5565f0ef3bbc2 (diff)
downloademacs-a498d7f4f8ce688079d32cac4858ba78d2a9081e.tar.gz
emacs-a498d7f4f8ce688079d32cac4858ba78d2a9081e.zip
* fns.c (concat): Catch string overflow earlier.
Do not rely on integer wraparound.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog3
-rw-r--r--src/fns.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 79d9b636e09..b9cf18cedd9 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,8 @@
12011-06-18 Paul Eggert <eggert@cs.ucla.edu> 12011-06-18 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 * fns.c (concat): Catch string overflow earlier.
4 Do not rely on integer wraparound.
5
3 * dispextern.h (struct it.overlay_strings_charpos): EMACS_INT, not int. 6 * dispextern.h (struct it.overlay_strings_charpos): EMACS_INT, not int.
4 7
52011-06-17 Paul Eggert <eggert@cs.ucla.edu> 82011-06-17 Paul Eggert <eggert@cs.ucla.edu>
diff --git a/src/fns.c b/src/fns.c
index a19c886e3e1..4c1505ab0f1 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -565,8 +565,8 @@ concat (ptrdiff_t nargs, Lisp_Object *args,
565 } 565 }
566 566
567 result_len += len; 567 result_len += len;
568 if (result_len < 0) 568 if (STRING_BYTES_BOUND < result_len)
569 error ("String overflow"); 569 string_overflow ();
570 } 570 }
571 571
572 if (! some_multibyte) 572 if (! some_multibyte)