[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master b72ff36 1/2: Fix integer-overflow bug in Time conve
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] master b72ff36 1/2: Fix integer-overflow bug in Time conversion |
Date: |
Fri, 18 Oct 2019 16:23:17 -0400 (EDT) |
branch: master
commit b72ff3667a137ca5d03f6a5c3cff722f004bc8ed
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
Fix integer-overflow bug in Time conversion
Problem reported by Stefan Monnier (Bug#37795).
* src/keyboard.c (make_lispy_position)
(make_scroll_bar_position, make_lispy_event):
* src/xterm.c (x_ewmh_activate_frame):
Use INT_TO_INTEGER to convert Time to a Lisp integer,
since the value might not be a fixnum.
---
src/keyboard.c | 6 +++---
src/xterm.c | 3 ++-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/keyboard.c b/src/keyboard.c
index d67d18a..db583ec 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -5242,7 +5242,7 @@ make_lispy_position (struct frame *f, Lisp_Object x,
Lisp_Object y,
Fcons (posn,
Fcons (Fcons (make_fixnum (xret),
make_fixnum (yret)),
- Fcons (make_fixnum (t),
+ Fcons (INT_TO_INTEGER (t),
extra_info))));
}
@@ -5267,7 +5267,7 @@ static Lisp_Object
make_scroll_bar_position (struct input_event *ev, Lisp_Object type)
{
return list5 (ev->frame_or_window, type, Fcons (ev->x, ev->y),
- make_fixnum (ev->timestamp),
+ INT_TO_INTEGER (ev->timestamp),
builtin_lisp_symbol (scroll_bar_parts[ev->part]));
}
@@ -5579,7 +5579,7 @@ make_lispy_event (struct input_event *event)
position = list4 (event->frame_or_window,
Qmenu_bar,
Fcons (event->x, event->y),
- make_fixnum (event->timestamp));
+ INT_TO_INTEGER (event->timestamp));
return list2 (item, position);
}
diff --git a/src/xterm.c b/src/xterm.c
index 5d8b148..0455895 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -11589,7 +11589,8 @@ x_ewmh_activate_frame (struct frame *f)
x_send_client_event (frame, make_fixnum (0), frame,
dpyinfo->Xatom_net_active_window,
make_fixnum (32),
- list2i (1, dpyinfo->last_user_time));
+ list2 (make_fixnum (1),
+ INT_TO_INTEGER (dpyinfo->last_user_time)));
}
}