diff options
| author | Paul Eggert | 2011-08-29 08:51:23 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-08-29 08:51:23 -0700 |
| commit | 9d1df220c5484374901f8edff05e41bb575c0c77 (patch) | |
| tree | 91cd2f25696ada0a504fba2cdc7cb78618af7bf1 /src | |
| parent | 2ea16b8969850fd2952ca80239cf37e77d0e7edd (diff) | |
| download | emacs-9d1df220c5484374901f8edff05e41bb575c0c77.tar.gz emacs-9d1df220c5484374901f8edff05e41bb575c0c77.zip | |
* dispnew.c (add_window_display_history): Don't overrun buffer.
Truncate instead; this is OK since it's just a log.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 3 | ||||
| -rw-r--r-- | src/dispnew.c | 19 |
2 files changed, 13 insertions, 9 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 307174268bc..4336d6a6b83 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -23,6 +23,9 @@ | |||
| 23 | * dbusbind.c (xd_signature, Fdbus_register_signal): | 23 | * dbusbind.c (xd_signature, Fdbus_register_signal): |
| 24 | Do not overrun buffer; instead, report string overflow. | 24 | Do not overrun buffer; instead, report string overflow. |
| 25 | 25 | ||
| 26 | * dispnew.c (add_window_display_history): Don't overrun buffer. | ||
| 27 | Truncate instead; this is OK since it's just a log. | ||
| 28 | |||
| 26 | 2011-08-26 Paul Eggert <eggert@cs.ucla.edu> | 29 | 2011-08-26 Paul Eggert <eggert@cs.ucla.edu> |
| 27 | 30 | ||
| 28 | Integer and memory overflow issues (Bug#9196). | 31 | Integer and memory overflow issues (Bug#9196). |
diff --git a/src/dispnew.c b/src/dispnew.c index e96583e0025..0cc888b4b7a 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -272,15 +272,16 @@ add_window_display_history (struct window *w, const char *msg, int paused_p) | |||
| 272 | buf = redisplay_history[history_idx].trace; | 272 | buf = redisplay_history[history_idx].trace; |
| 273 | ++history_idx; | 273 | ++history_idx; |
| 274 | 274 | ||
| 275 | sprintf (buf, "%"pMu": window %p (`%s')%s\n", | 275 | esnprintf (buf, sizeof redisplay_history[0].trace, |
| 276 | history_tick++, | 276 | "%"pMu": window %p (`%s')%s\n%s", |
| 277 | w, | 277 | history_tick++, |
| 278 | ((BUFFERP (w->buffer) | 278 | w, |
| 279 | && STRINGP (BVAR (XBUFFER (w->buffer), name))) | 279 | ((BUFFERP (w->buffer) |
| 280 | ? SSDATA (BVAR (XBUFFER (w->buffer), name)) | 280 | && STRINGP (BVAR (XBUFFER (w->buffer), name))) |
| 281 | : "???"), | 281 | ? SSDATA (BVAR (XBUFFER (w->buffer), name)) |
| 282 | paused_p ? " ***paused***" : ""); | 282 | : "???"), |
| 283 | strcat (buf, msg); | 283 | paused_p ? " ***paused***" : "", |
| 284 | msg); | ||
| 284 | } | 285 | } |
| 285 | 286 | ||
| 286 | 287 | ||