aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2011-06-14 15:41:38 -0700
committerPaul Eggert2011-06-14 15:41:38 -0700
commitde41a8106952ceb1d14dd25564fa5eba1ced9110 (patch)
tree7c454e475f51f2129f7364e3d7303f3c2fdfed7c /src
parent6346d30171fa8047e292076a2407fedee64479da (diff)
downloademacs-de41a8106952ceb1d14dd25564fa5eba1ced9110.tar.gz
emacs-de41a8106952ceb1d14dd25564fa5eba1ced9110.zip
* fns.c (Fcopy_sequence): Don't assume vector length fits in int.
Diffstat (limited to 'src')
-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 4326bad03fc..5cb9384f6fb 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -10,6 +10,7 @@
10 (Fsafe_length): Return a float if the value is not representable 10 (Fsafe_length): Return a float if the value is not representable
11 as a fixnum. This shouldn't happen except in contrived situations. 11 as a fixnum. This shouldn't happen except in contrived situations.
12 (Fnthcdr, Fsort): Don't assume list length fits in int. 12 (Fnthcdr, Fsort): Don't assume list length fits in int.
13 (Fcopy_sequence): Don't assume vector length fits in int.
13 14
14 * alloc.c: Check that resized vectors' lengths fit in fixnums. 15 * alloc.c: Check that resized vectors' lengths fit in fixnums.
15 (header_size, word_size): New constants. 16 (header_size, word_size): New constants.
diff --git a/src/fns.c b/src/fns.c
index 987d5a6564d..69b95cba09c 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -436,7 +436,7 @@ with the original. */)
436 if (BOOL_VECTOR_P (arg)) 436 if (BOOL_VECTOR_P (arg))
437 { 437 {
438 Lisp_Object val; 438 Lisp_Object val;
439 int size_in_chars 439 ptrdiff_t size_in_chars
440 = ((XBOOL_VECTOR (arg)->size + BOOL_VECTOR_BITS_PER_CHAR - 1) 440 = ((XBOOL_VECTOR (arg)->size + BOOL_VECTOR_BITS_PER_CHAR - 1)
441 / BOOL_VECTOR_BITS_PER_CHAR); 441 / BOOL_VECTOR_BITS_PER_CHAR);
442 442