diff options
| author | Paul Eggert | 2011-05-12 23:12:24 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-05-12 23:12:24 -0700 |
| commit | 2d165e9dc58924db64f73791a638c136bc6324d7 (patch) | |
| tree | dc24f2019b1fb5e0d0f3cae4b760b257fbca69e8 /src/ChangeLog | |
| parent | bcfc5c821c672e38e5d4fad78347ab3c3f4352f7 (diff) | |
| download | emacs-2d165e9dc58924db64f73791a638c136bc6324d7.tar.gz emacs-2d165e9dc58924db64f73791a638c136bc6324d7.zip | |
* editfns.c (Fformat): Fix several integer overflow problems.
For example, without this change, (format "%2147483648d" 1) dumps
core on x86-64 GNU/Linux. Use EMACS_INT, not size_t, for sizes,
since we prefer using signed values, and EMACS_INT will be big
enough soon, even on 32-bit hosts. Also, prefer EMACS_INT to int
for sizes. Don't assume that pI is either "l" or ""; it might be
"ll" or "I64". Check for width and precision greater than
INT_MAX, as this can make sprintf go kaflooey. (Bug#8668)
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 378d8a22808..9bdbb9a7d18 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,14 @@ | |||
| 1 | 2011-05-13 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2011-05-13 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | * editfns.c (Fformat): Fix several integer overflow problems. | ||
| 4 | For example, without this change, (format "%2147483648d" 1) dumps | ||
| 5 | core on x86-64 GNU/Linux. Use EMACS_INT, not size_t, for sizes, | ||
| 6 | since we prefer using signed values, and EMACS_INT will be big | ||
| 7 | enough soon, even on 32-bit hosts. Also, prefer EMACS_INT to int | ||
| 8 | for sizes. Don't assume that pI is either "l" or ""; it might be | ||
| 9 | "ll" or "I64". Check for width and precision greater than | ||
| 10 | INT_MAX, as this can make sprintf go kaflooey. (Bug#8668) | ||
| 11 | |||
| 3 | * dispextern.h (struct image): Don't assume time_t <= unsigned long. | 12 | * dispextern.h (struct image): Don't assume time_t <= unsigned long. |
| 4 | * image.c (clear_image_cache): Likewise. | 13 | * image.c (clear_image_cache): Likewise. |
| 5 | 14 | ||