staging: wilc1000: off by one in get_handler_from_id()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 15 Sep 2015 06:54:33 +0000 (09:54 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 Sep 2015 13:34:44 +0000 (06:34 -0700)
The > should be >= here or we read beyond the end of the array.

Fixes: d42ab0838d04 ('staging: wilc1000: use id value as argument')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wilc1000/host_interface.c

index 59a1a9d93d6a2f9fc2d028ecfd6daa131081778e..621fd1867633d418642630a1acac37c68c3b5339 100644 (file)
@@ -637,7 +637,7 @@ static int get_id_from_handler(tstrWILC_WFIDrv *handler)
 
 static tstrWILC_WFIDrv *get_handler_from_id(int id)
 {
-       if (id <= 0 || id > ARRAY_SIZE(wfidrv_list))
+       if (id <= 0 || id >= ARRAY_SIZE(wfidrv_list))
                return NULL;
        return wfidrv_list[id];
 }