diff options
Diffstat (limited to 'src/alloc.c')
| -rw-r--r-- | src/alloc.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/alloc.c b/src/alloc.c index 596de3af85e..8eaa810e53a 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -3388,12 +3388,11 @@ allocate_vectorlike (ptrdiff_t len) | |||
| 3388 | struct Lisp_Vector * | 3388 | struct Lisp_Vector * |
| 3389 | allocate_vector (EMACS_INT len) | 3389 | allocate_vector (EMACS_INT len) |
| 3390 | { | 3390 | { |
| 3391 | struct Lisp_Vector *v; | 3391 | ptrdiff_t wordbytes_max = (min (PTRDIFF_MAX, SIZE_MAX) |
| 3392 | ptrdiff_t nbytes_max = min (PTRDIFF_MAX, SIZE_MAX); | 3392 | - header_size - large_vector_offset); |
| 3393 | 3393 | if (min (wordbytes_max / word_size, MOST_POSITIVE_FIXNUM) < len) | |
| 3394 | if (min ((nbytes_max - header_size) / word_size, MOST_POSITIVE_FIXNUM) < len) | ||
| 3395 | memory_full (SIZE_MAX); | 3394 | memory_full (SIZE_MAX); |
| 3396 | v = allocate_vectorlike (len); | 3395 | struct Lisp_Vector *v = allocate_vectorlike (len); |
| 3397 | if (len) | 3396 | if (len) |
| 3398 | v->header.size = len; | 3397 | v->header.size = len; |
| 3399 | return v; | 3398 | return v; |