From a498d7f4f8ce688079d32cac4858ba78d2a9081e Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 18 Jun 2011 08:08:31 -0700 Subject: [PATCH] * fns.c (concat): Catch string overflow earlier. Do not rely on integer wraparound. --- src/ChangeLog | 3 +++ src/fns.c | 4 ++-- 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 @@ 2011-06-18 Paul Eggert + * fns.c (concat): Catch string overflow earlier. + Do not rely on integer wraparound. + * dispextern.h (struct it.overlay_strings_charpos): EMACS_INT, not int. 2011-06-17 Paul Eggert 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, } result_len += len; - if (result_len < 0) - error ("String overflow"); + if (STRING_BYTES_BOUND < result_len) + string_overflow (); } if (! some_multibyte) -- 2.39.5