diff options
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 52ec796d6cf..c80a12c1c00 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,22 @@ | |||
| 1 | 2011-09-03 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | * fileio.c: Fix bugs with large file offsets. | ||
| 4 | The previous code assumed that file offsets (off_t values) fit in | ||
| 5 | EMACS_INT variables, which is not true on typical 32-bit hosts. | ||
| 6 | The code messed up by falsely reporting buffer overflow in cases | ||
| 7 | such as (insert-file-contents "big" nil 1 2) into an empty buffer | ||
| 8 | when "big" contains more than 2**29 bytes, even though this | ||
| 9 | inserts just one byte and does not overflow the buffer. | ||
| 10 | (Finsert_file_contents): Store file offsets as off_t | ||
| 11 | values, not as EMACS_INT values. Check for overflow when | ||
| 12 | converting between EMACS_INT and off_t. When checking for | ||
| 13 | buffer overflow or for overlap, take the offsets into account. | ||
| 14 | Don't use EMACS_INT for small values where int suffices. | ||
| 15 | When checking for overlap, fix a typo: ZV was used where | ||
| 16 | ZV_BYTE was intended. | ||
| 17 | (Fwrite_region): Don't assume off_t fits into 'long'. | ||
| 18 | * buffer.h (struct buffer.modtime_size): Now off_t, not EMACS_INT. | ||
| 19 | |||
| 1 | 2011-08-30 Chong Yidong <cyd@stupidchicken.com> | 20 | 2011-08-30 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 21 | ||
| 3 | * syntax.c (find_defun_start): Update all cache variables if | 22 | * syntax.c (find_defun_start): Update all cache variables if |