[Patch] Dereference in tokenring/olympic.c

From: Eric Sesterhenn
Date: Wed Jun 21 2006 - 10:16:05 EST


hi,

coverity found (bug id #225) that we might call free_netdev()
with NULL argument, when alloc_trdev() fails. This patch
changes the goto, so we dont call free_netdev() for
dev == NULL.

Signed-off-by: Eric Sesterhenn <snakebyte@xxxxxx>

--- linux-2.6.17-git2/drivers/net/tokenring/olympic.c.orig 2006-06-21 16:11:46.000000000 +0200
+++ linux-2.6.17-git2/drivers/net/tokenring/olympic.c 2006-06-21 16:13:47.000000000 +0200
@@ -217,7 +217,7 @@ static int __devinit olympic_probe(struc
dev = alloc_trdev(sizeof(struct olympic_private)) ;
if (!dev) {
i = -ENOMEM;
- goto op_free_dev;
+ goto op_release_dev;
}

olympic_priv = dev->priv ;
@@ -282,8 +282,8 @@ op_free_iomap:
if (olympic_priv->olympic_lap)
iounmap(olympic_priv->olympic_lap);

-op_free_dev:
free_netdev(dev);
+op_release_dev:
pci_release_regions(pdev);

op_disable_dev:


-
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/