diff --git a/hkd.c b/hkd.c index 27416b9..5a4c8fc 100644 --- a/hkd.c +++ b/hkd.c @@ -335,8 +335,11 @@ int main (int argc, char *argv[]) printf("Pressed keys: "); for (unsigned int i = 0; i < pb.size; i++) { ci = i; - while (pb.buf[i] != key_conversion_table[ci + 1].value) + while (pb.buf[i] != key_conversion_table[ci + 1].value) { + if (ci >= array_size_const(key_conversion_table) - 2) + break; ci++; + } printf("%s ", key_conversion_table[ci + 1].name); } putchar('\n');