OSDN Git Service

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 59a1a9d..621fd18 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];
 }