scsi: isci: avoid array subscript warning
authorArnd Bergmann <arnd@arndb.de>
Fri, 18 Nov 2016 16:14:01 +0000 (17:14 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 2 Sep 2017 05:06:50 +0000 (07:06 +0200)
commit 5cfa2a3c7342bd0b50716c8bb32ee491af43c785 upstream.

I'm getting a new warning with gcc-7:

isci/remote_node_context.c: In function 'sci_remote_node_context_destruct':
isci/remote_node_context.c:69:16: error: array subscript is above array bounds [-Werror=array-bounds]

This is odd, since we clearly cover all values for enum
scis_sds_remote_node_context_states here. Anyway, checking for an array
overflow can't harm and it makes the warning go away.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/isci/remote_node_context.c

index 1910100638a280a5c70e1f2118e354d6ecfb1a43..00602abec0ea14a370628643d1cada21a90784cb 100644 (file)
@@ -66,6 +66,9 @@ const char *rnc_state_name(enum scis_sds_remote_node_context_states state)
 {
        static const char * const strings[] = RNC_STATES;
 
+       if (state >= ARRAY_SIZE(strings))
+               return "UNKNOWN";
+
        return strings[state];
 }
 #undef C