From 99685784ee4b01bbf4942fbe6d294d28b22ad5d5 Mon Sep 17 00:00:00 2001 From: Andrew Thompson Date: Tue, 25 Jun 2024 13:48:52 -0400 Subject: [PATCH] Try to avoid invalid scancodes (#503) * Try to avoid invalid scancodes * Try to only check reasonable scancodes * clang format --- src/game/scenes/mainmenu/menu_presskey.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/game/scenes/mainmenu/menu_presskey.c b/src/game/scenes/mainmenu/menu_presskey.c index 4096ed453..4ac1c4970 100644 --- a/src/game/scenes/mainmenu/menu_presskey.c +++ b/src/game/scenes/mainmenu/menu_presskey.c @@ -80,6 +80,11 @@ void menu_presskey_tick(component *c) { int keys = 0; const unsigned char *state = SDL_GetKeyboardState(&keys); for(int i = 0; i < keys; i++) { + if(i < SDL_SCANCODE_A || (i > SDL_SCANCODE_EXSEL && i < SDL_SCANCODE_KP_00) || + i > SDL_SCANCODE_KP_HEXADECIMAL) { + continue; + } + if(state[i]) { if(is_key_bound(i) && strcmp(SDL_GetScancodeName(i), *(local->key)) != 0) { // Set texts to red as a warning