summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2012-06-17 00:39:50 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2012-06-17 00:39:50 -0700
commit9a900ca947a69c01411ff467cb49cb09fb40b75a (patch)
treed9d17380cccb5eabb2b1fa0fdfecc24fae585745 /src
parent41b7f8bc6c4511ab6fcf7f6b1f9e7fdcd8592821 (diff)
downloademacs-9a900ca947a69c01411ff467cb49cb09fb40b75a.tar.gz
* 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/ChangeLog5
-rw-r--r--src/xterm.c3
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 @@
+2012-06-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xterm.c (x_draw_underwave): Check for integer overflow.
+ This pacifies gcc 4.7.0 -Wunsafe-loop-optimizations on x86-64.
+
2012-06-17 Jan Djärv <jan.h.d@swipnet.se>
* 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)
else
y2 += dy;
+ if (INT_MAX - dx < xmax)
+ abort ();
+
while (x1 <= xmax)
{
XDrawLine (s->display, s->window, s->gc, x1, y1, x2, y2);