[PATCH 6/8] keyboard: Avoid access beyond end off buffer
Rob Bradford
robert.bradford at intel.com
Tue Oct 9 10:44:34 PDT 2012
From: Rob Bradford <rob at linux.intel.com>
If the for loop does not match on a button it will fall through and try and
dereference into the array using the terminating value of the loop. This
terminating value of the loop is the dimension of the array and thus beyond
its bounds.
Cc: Jan Arne Petersen <jpetersen at openismus.com>
Signed-off-by: Rob Bradford <rob at linux.intel.com>
---
clients/keyboard.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/clients/keyboard.c b/clients/keyboard.c
index 8820a22..19eb034 100644
--- a/clients/keyboard.c
+++ b/clients/keyboard.c
@@ -313,12 +313,12 @@ button_handler(struct widget *widget,
col = x / key_width + row * columns;
for (i = 0; i < sizeof(keys) / sizeof(*keys); ++i) {
col -= keys[i].width;
- if (col < 0)
+ if (col < 0) {
+ keyboard_handle_key(keyboard, &keys[i]);
break;
+ }
}
- keyboard_handle_key(keyboard, &keys[i]);
-
widget_schedule_redraw(widget);
}
--
1.7.11.2
More information about the wayland-devel
mailing list