Fix buffer overrun if apply/removeShift is called with an unknown character

This commit is contained in:
2023-01-11 13:57:09 -05:00
parent e4b1162d46
commit e212e99794

View File

@@ -92,6 +92,7 @@ bool mod_contains(eKeyMod mods, eKeyMod mod) {
}
unsigned char applyShift(unsigned char c){
if(c < ' ' || c >= 0x7f) return c;
static const char afterShift[] = {
' ', '!', '"', '#', '$', '%', '&', '"', '(', ')', '*', '+', '<', '_', '>', '?',
')', '!', '@', '#', '$', '%', '^', '&', '*', '(', ':', ':', '<', '+', '>', '?',
@@ -104,6 +105,7 @@ unsigned char applyShift(unsigned char c){
}
unsigned char removeShift(unsigned char c){
if(c < ' ' || c >= 0x7f) return c;
static const char afterUnShift[] = {
' ', '1', '\'','3', '4', '5', '7', '\'','9', '0', '8', '=', ',', '-', '.', '/',
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ';', ';', ',', '=', '.', '/',