From 656bde5728b824ca23fcab8bc5800b309ea48d64 Mon Sep 17 00:00:00 2001 From: Jesper Juhl Date: Sat, 25 Mar 2006 03:08:12 -0800 Subject: [PATCH] Fix memory leak in isapnp Spotted by the Coverity checker as bug #666 akpm; there are several other `return 1;'s in there which aren't freeing `dev'. (A fix which converts this function to single-exit would be preferred..) Signed-off-by: Jesper Juhl Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/pnp/isapnp/core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'drivers/pnp') diff --git a/drivers/pnp/isapnp/core.c b/drivers/pnp/isapnp/core.c index 57fd60314d59..b1b4b683cbdd 100644 --- a/drivers/pnp/isapnp/core.c +++ b/drivers/pnp/isapnp/core.c @@ -646,8 +646,10 @@ static int __init isapnp_create_device(struct pnp_card *card, size = 0; skip = 0; option = pnp_register_independent_option(dev); - if (!option) + if (!option) { + kfree(dev); return 1; + } pnp_add_card_device(card,dev); } else { skip = 1; -- cgit v1.2.3