diff options
| author | Paul Eggert | 2012-06-17 00:39:50 -0700 |
|---|---|---|
| committer | Paul Eggert | 2012-06-17 00:39:50 -0700 |
| commit | 9a900ca947a69c01411ff467cb49cb09fb40b75a (patch) | |
| tree | d9d17380cccb5eabb2b1fa0fdfecc24fae585745 /src | |
| parent | 41b7f8bc6c4511ab6fcf7f6b1f9e7fdcd8592821 (diff) | |
| download | emacs-9a900ca947a69c01411ff467cb49cb09fb40b75a.tar.gz emacs-9a900ca947a69c01411ff467cb49cb09fb40b75a.zip | |
* xterm.c (x_draw_underwave): Check for integer overflow.
This pacifies gcc 4.7.0 -Wunsafe-loop-optimizations on x86-64.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/xterm.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 8baeeadc2d5..662aa5232ab 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2012-06-17 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | * xterm.c (x_draw_underwave): Check for integer overflow. | ||
| 4 | This pacifies gcc 4.7.0 -Wunsafe-loop-optimizations on x86-64. | ||
| 5 | |||
| 1 | 2012-06-17 Jan Djärv <jan.h.d@swipnet.se> | 6 | 2012-06-17 Jan Djärv <jan.h.d@swipnet.se> |
| 2 | 7 | ||
| 3 | * nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't | 8 | * nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't |
diff --git a/src/xterm.c b/src/xterm.c index 914d195778f..fec661625f2 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -2710,6 +2710,9 @@ x_draw_underwave (struct glyph_string *s) | |||
| 2710 | else | 2710 | else |
| 2711 | y2 += dy; | 2711 | y2 += dy; |
| 2712 | 2712 | ||
| 2713 | if (INT_MAX - dx < xmax) | ||
| 2714 | abort (); | ||
| 2715 | |||
| 2713 | while (x1 <= xmax) | 2716 | while (x1 <= xmax) |
| 2714 | { | 2717 | { |
| 2715 | XDrawLine (s->display, s->window, s->gc, x1, y1, x2, y2); | 2718 | XDrawLine (s->display, s->window, s->gc, x1, y1, x2, y2); |