summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChase Douglas <chase.douglas@canonical.com>2012-04-20 11:08:15 -0700
committerPeter Hutterer <peter.hutterer@who-t.net>2012-05-01 11:36:35 +1000
commit5c361d59c5031d9b3f7f9093a52d2b1ff4d9ae5f (patch)
tree8bbbaf3cd424b00ad3c62a399622f983ec8bf75e
parent88bacc49f06da5927f716869f5a32672a8297ed0 (diff)
TouchListenerAcceptReject: Warn and return early on bad listener index
Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Bryce Harrington <bryce@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--dix/touch.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/dix/touch.c b/dix/touch.c
index dd16367d0..401cb981a 100644
--- a/dix/touch.c
+++ b/dix/touch.c
@@ -966,6 +966,11 @@ TouchListenerAcceptReject(DeviceIntPtr dev, TouchPointInfoPtr ti, int listener,
int nev;
int i;
+ BUG_WARN(listener < 0);
+ BUG_WARN(listener >= ti->num_listeners);
+ if (listener < 0 || listener >= ti->num_listeners)
+ return BadMatch;
+
if (listener > 0) {
if (mode == XIRejectTouch)
TouchRejected(dev, ti, ti->listeners[listener].listener, NULL);