Skip to content

Commit 9a60979

Browse files
authored
Linux: Avoid out-of-bounds raw keycode array access (#226)
1 parent d4879da commit 9a60979

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/gui/CemuApp.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,12 +170,16 @@ int CemuApp::FilterEvent(wxEvent& event)
170170
{
171171
const auto& key_event = (wxKeyEvent&)event;
172172
wxGetKeyState(wxKeyCode::WXK_F17);
173-
g_window_info.keydown[fix_raw_keycode(key_event.GetRawKeyCode(), key_event.GetRawKeyFlags())] = true;
173+
uint32 keycode=fix_raw_keycode(key_event.GetRawKeyCode(), key_event.GetRawKeyFlags());
174+
if(keycode<256)
175+
g_window_info.keydown[keycode] = true;
174176
}
175177
else if(event.GetEventType() == wxEVT_KEY_UP)
176178
{
177179
const auto& key_event = (wxKeyEvent&)event;
178-
g_window_info.keydown[fix_raw_keycode(key_event.GetRawKeyCode(), key_event.GetRawKeyFlags())] = false;
180+
uint32 keycode=fix_raw_keycode(key_event.GetRawKeyCode(), key_event.GetRawKeyFlags());
181+
if(keycode<256)
182+
g_window_info.keydown[keycode] = false;
179183
}
180184

181185
return wxApp::FilterEvent(event);

0 commit comments

Comments
 (0)