[PATCH] More PNP leaks.

From: Dave Jones
Date: Wed Sep 01 2004 - 12:20:28 EST


Spotted with the source checker from Coverity.com.

Signed-off-by: Dave Jones <davej@xxxxxxxxxx>


diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/pnp/pnpbios/proc.c linux-2.6/drivers/pnp/pnpbios/proc.c
--- bk-linus/drivers/pnp/pnpbios/proc.c 2004-06-04 12:08:32.000000000 +0100
+++ linux-2.6/drivers/pnp/pnpbios/proc.c 2004-06-07 11:07:05.000000000 +0100
@@ -90,8 +90,10 @@ static int proc_read_escd(char *buf, cha
tmpbuf = pnpbios_kmalloc(escd.escd_size, GFP_KERNEL);
if (!tmpbuf) return -ENOMEM;

- if (pnp_bios_read_escd(tmpbuf, escd.nv_storage_base))
+ if (pnp_bios_read_escd(tmpbuf, escd.nv_storage_base)) {
+ kfree(tmpbuf);
return -EIO;
+ }

escd_size = (unsigned char)(tmpbuf[0]) + (unsigned char)(tmpbuf[1])*256;

@@ -168,8 +170,10 @@ static int proc_read_node(char *buf, cha

node = pnpbios_kmalloc(node_info.max_node_size, GFP_KERNEL);
if (!node) return -ENOMEM;
- if (pnp_bios_get_dev_node(&nodenum, boot, node))
+ if (pnp_bios_get_dev_node(&nodenum, boot, node)) {
+ kfree(node);
return -EIO;
+ }
len = node->size - sizeof(struct pnp_bios_node);
memcpy(buf, node->data, len);
kfree(node);
-
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/