[patch] Fix bug #13853: dereference pointer 'dev' before null check

From: Jinqiu
Date: Wed Mar 02 2011 - 21:20:27 EST


This patch fixes bug #13853 .This still exists in latest version.
'dev' is dereferenced before testing for NULL.

Signed-off-by: Jinqiu Yang<crindy646@xxxxxxxxx>
--- a/drivers/net/ariadne.c
+++ b/drivers/net/ariadne.c
@@ -420,7 +420,7 @@ static inline void ariadne_reset(struct
static irqreturn_t ariadne_interrupt(int irq, void *data)
{
struct net_device *dev = (struct net_device *) data;
- volatile struct Am79C960 *lance = (struct Am79C960*)dev->base_addr;
+ volatile struct Am79C960 *lance;
struct ariadne_private *priv;
int csr0, boguscnt;
int handled = 0;
@@ -429,6 +429, 7 @@ static irqreturn_t ariadne_interrupt(int
printk(KERN_WARNING "ariadne_interrupt(): irq for unknown device.\n");
return IRQ_NONE;
}
+ lance = (struct Am79C960 *)dev->base_addr;

lance->RAP = CSR0; /* PCnet-ISA Controller Status */




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/