summaryrefslogtreecommitdiffstats
path: root/key-string.c
diff options
context:
space:
mode:
authornicm <nicm>2016-11-23 16:44:42 +0000
committernicm <nicm>2016-11-23 16:44:42 +0000
commit24916f2f6e4480143f0de026a727cc524fb797a8 (patch)
tree163cb0a3d396b5ffa3d9168425c3949c12dce3cb /key-string.c
parent3cf19d6dd0900dd5bbd78594af308ee88b109756 (diff)
Error on invalid modifier keys.
Diffstat (limited to 'key-string.c')
-rw-r--r--key-string.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/key-string.c b/key-string.c
index d513ec6f..9ee1c2d2 100644
--- a/key-string.c
+++ b/key-string.c
@@ -140,6 +140,9 @@ key_string_get_modifiers(const char **string)
case 's':
modifiers |= KEYC_SHIFT;
break;
+ default:
+ *string = NULL;
+ return 0;
}
*string += 2;
}
@@ -179,7 +182,7 @@ key_string_lookup_string(const char *string)
string++;
}
modifiers |= key_string_get_modifiers(&string);
- if (string[0] == '\0')
+ if (string == NULL || string[0] == '\0')
return (KEYC_UNKNOWN);
/* Is this a standard ASCII key? */