aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert2011-06-18 09:02:03 -0700
committerPaul Eggert2011-06-18 09:02:03 -0700
commit311d5d7cc63a9f2d4823066f82faeb4fb6203710 (patch)
tree113cc2363ccbe9cd568c3be7fb36e411e69d754b
parentf03dc6ef9f0c33552acea1713901de8c73f23b82 (diff)
downloademacs-311d5d7cc63a9f2d4823066f82faeb4fb6203710.tar.gz
emacs-311d5d7cc63a9f2d4823066f82faeb4fb6203710.zip
* fns.c: Don't assume string byte-length fits in 'int'.
-rw-r--r--src/ChangeLog1
-rw-r--r--src/fns.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 75b9327247c..ee582c4e4a0 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -2,6 +2,7 @@
2 2
3 * fns.c (Ffillarray): Don't assume bool vector size fits in 'int'. 3 * fns.c (Ffillarray): Don't assume bool vector size fits in 'int'.
4 Use much-faster test for byte-length change. 4 Use much-faster test for byte-length change.
5 Don't assume string byte-length fits in 'int'.
5 6
6 * alloc.c (Fmake_bool_vector): Avoid unnecessary multiplication. 7 * alloc.c (Fmake_bool_vector): Avoid unnecessary multiplication.
7 8
diff --git a/src/fns.c b/src/fns.c
index c308e06101f..51b753b3134 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -2169,7 +2169,7 @@ ARRAY is a vector, string, char-table, or bool-vector. */)
2169 unsigned char str[MAX_MULTIBYTE_LENGTH]; 2169 unsigned char str[MAX_MULTIBYTE_LENGTH];
2170 int len = CHAR_STRING (charval, str); 2170 int len = CHAR_STRING (charval, str);
2171 EMACS_INT size_byte = SBYTES (array); 2171 EMACS_INT size_byte = SBYTES (array);
2172 int i; 2172 EMACS_INT i;
2173 2173
2174 if (INT_MULTIPLY_OVERFLOW (SCHARS (array), len) 2174 if (INT_MULTIPLY_OVERFLOW (SCHARS (array), len)
2175 || SCHARS (array) * len != size_byte) 2175 || SCHARS (array) * len != size_byte)