From 9e8da2dd01e21d43a5566df91d85c91fd64f72d1 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Fri, 26 Apr 2013 23:15:40 +0200 Subject: Fix logic flaw in array bounds Index 0xFF needs an array of size 0x100... This error was caught with Address Sanitizer while trying to iterate through all registers 0x00..0xFF. --- hidraw.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'hidraw.c') diff --git a/hidraw.c b/hidraw.c index f749d50..17eff9e 100755 --- a/hidraw.c +++ b/hidraw.c @@ -50,7 +50,7 @@ struct report { }; } __attribute__((__packed__)); -static const char * report_types[0xFF] = { +static const char * report_types[0x100] = { // 0x00 - 0x3F HID reports [0x01] = "KEYBOARD", [0x02] = "MOUSE", @@ -78,7 +78,7 @@ static const char * report_types[0xFF] = { [0x8F] = "_ERROR_MSG", }; -static const char * error_messages[0xFF] = { +static const char * error_messages[0x100] = { // error messages for type=8F (ERROR_MSG) [0x01] = "SUCCESS", [0x02] = "INVALID_SUBID", @@ -96,7 +96,7 @@ static const char * error_messages[0xFF] = { }; // everything with a '?' is guessed -static const char * registers[0xFF] = { +static const char * registers[0x100] = { [0x00] = "ENABLED_NOTIFS", [0x01] = "KBD_HAND_DETECT?", [0x02] = "CONNECTION_STATE", -- cgit v1.2.1