From a0c5f2350c1af9d18b2ceb6017db5a9cd4e9b5d8 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Thu, 7 Feb 2008 16:14:43 +0000 Subject: [PATCH] Fixed array overrun --- src/events/SDL_keyboard_c.h | 2 +- test/checkkeys.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/events/SDL_keyboard_c.h b/src/events/SDL_keyboard_c.h index a4b59716d..eff9b80e8 100644 --- a/src/events/SDL_keyboard_c.h +++ b/src/events/SDL_keyboard_c.h @@ -37,7 +37,7 @@ struct SDL_Keyboard /* Data common to all keyboards */ SDL_WindowID focus; Uint16 modstate; - Uint8 keystate[(SDL_NUM_SCANCODES + 7) / 8]; + Uint8 keystate[SDL_NUM_SCANCODES]; SDLKey keymap[SDL_NUM_SCANCODES]; void *driverdata; diff --git a/test/checkkeys.c b/test/checkkeys.c index 46de68b40..d0e253da2 100644 --- a/test/checkkeys.c +++ b/test/checkkeys.c @@ -63,8 +63,10 @@ PrintKey(SDL_keysym * sym, int pressed) SDL_GetScancodeName(sym->scancode), sym->sym, SDL_GetKeyName(sym->sym)); } else { - printf("Unknown Key (scancode = 0x%04X) %s ", - sym->scancode, pressed ? "pressed" : "released"); + printf("Unknown Key (scancode = 0x%04X = %s) %s ", + sym->scancode, + SDL_GetScancodeName(sym->scancode), + pressed ? "pressed" : "released"); } /* Print the translated character, if one exists */