Subject: [PATCH] zorro8390: Fix read buffer overflow in zorro8390_init_one()

From: Roel Kluin <[email-masked]>
Date: Sun, 09 Aug 2009 16:00:25 +0200

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

Signed-off-by: Roel Kluin <[email-masked]>
---
is ENODEV appropriate here?

diff --git a/drivers/net/zorro8390.c b/drivers/net/zorro8390.c
index 37c84e3..55502e1 100644
--- a/drivers/net/zorro8390.c
+++ b/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--)
 	if (z->id == cards[i].id)
 	    break;
+    if (i < 0)
+        return -ENODEV;
+    
     board = z->resource.start;
     ioaddr = board+cards[i].offset;
     dev = alloc_ei_netdev();