[NIU]: Fix write past end of array in niu_pci_probe_sprom().
authorDavid S. Miller <davem@sunset.davemloft.net>
Mon, 15 Oct 2007 08:36:24 +0000 (01:36 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 15 Oct 2007 19:26:31 +0000 (12:26 -0700)
Noticed by Coverity checker and reported by Adrian Bunk.

Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/niu.c

index 43bfe7e..54166bd 100644 (file)
@@ -6213,7 +6213,7 @@ static int __devinit niu_pci_probe_sprom(struct niu *np)
        val = nr64(ESPC_MOD_STR_LEN);
        niudbg(PROBE, "SPROM: MOD_STR_LEN[%llu]\n",
               (unsigned long long) val);
-       if (val > 8 * 4)
+       if (val >= 8 * 4)
                return -EINVAL;
 
        for (i = 0; i < val; i += 4) {
@@ -6229,7 +6229,7 @@ static int __devinit niu_pci_probe_sprom(struct niu *np)
        val = nr64(ESPC_BD_MOD_STR_LEN);
        niudbg(PROBE, "SPROM: BD_MOD_STR_LEN[%llu]\n",
               (unsigned long long) val);
-       if (val > 4 * 4)
+       if (val >= 4 * 4)
                return -EINVAL;
 
        for (i = 0; i < val; i += 4) {