Browse Source

zorro8390: Fix read buffer overflow in zorro8390_init_one()

Prevent read from cards[-1] when no card was found.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
roel kluin 16 years ago
parent
commit
be12159b24
1 changed files with 3 additions and 0 deletions
  1. 3 0
      drivers/net/zorro8390.c

+ 3 - 0
drivers/net/zorro8390.c

@@ -120,6 +120,9 @@ static int __devinit zorro8390_init_one(struct zorro_dev *z,
     for (i = ARRAY_SIZE(cards)-1; i >= 0; i--)
     for (i = ARRAY_SIZE(cards)-1; i >= 0; i--)
 	if (z->id == cards[i].id)
 	if (z->id == cards[i].id)
 	    break;
 	    break;
+    if (i < 0)
+        return -ENODEV;
+
     board = z->resource.start;
     board = z->resource.start;
     ioaddr = board+cards[i].offset;
     ioaddr = board+cards[i].offset;
     dev = alloc_ei_netdev();
     dev = alloc_ei_netdev();