# HG changeset patch # User Richard M. Stallman # Date 799625778 0 # Node ID ca7058c74ef35b79ecc975c940b935563be93244 # Parent 450b9598aca50180ce72e2a52b843d79683210c7 (make_gap): Don't allow buffer size that won't fit in int. diff -r 450b9598aca5 -r ca7058c74ef3 src/insdel.c --- a/src/insdel.c Thu May 04 21:57:30 1995 +0000 +++ b/src/insdel.c Thu May 04 22:16:18 1995 +0000 @@ -271,6 +271,14 @@ /* If we have to get more space, get enough to last a while. */ increment += 2000; + /* Don't allow a buffer size that won't fit in an int + even if it will fit in a Lisp integer. + That won't work because so many places use `int'. */ + + if (VALBITS > INTBITS + && (Z - BEG + GAP_SIZE + increment) >= ((unsigned) 1 << (INTBITS - 1))) + error ("Buffer too big"); + BLOCK_INPUT; result = BUFFER_REALLOC (BEG_ADDR, (Z - BEG + GAP_SIZE + increment));