2008-08-07 17:34:28

by Parag Warudkar

[permalink] [raw]
Subject: [PATCH] isight_firmware : Fix a leak and double kfree()

Signed-off-by: Parag Warudkar <[email protected]>

--- linux-2.6/drivers/usb/misc/isight_firmware.c 2008-07-29
23:26:24.000000000 -0400
+++ linux-2.6-wk/drivers/usb/misc/isight_firmware.c 2008-08-07
13:23:01.000000000 -0400
@@ -48,7 +48,8 @@

if (request_firmware(&firmware, "isight.fw", &dev->dev) != 0) {
printk(KERN_ERR "Unable to load isight firmware\n");
- return -ENODEV;
+ ret = -ENODEV;
+ goto out;
}

ptr = firmware->data;
@@ -91,7 +92,6 @@
buf, llen, 300) != llen) {
printk(KERN_ERR
"Failed to load isight firmware\n");
- kfree(buf);
ret = -ENODEV;
goto out;
}


2008-08-07 19:09:32

by Justin P. Mattock

[permalink] [raw]
Subject: Re: [PATCH] isight_firmware : Fix a leak and double kfree()

On Thu, Aug 7, 2008 at 10:34 AM, Parag Warudkar
<[email protected]> wrote:
> Signed-off-by: Parag Warudkar <[email protected]>
>
> --- linux-2.6/drivers/usb/misc/isight_firmware.c 2008-07-29
> 23:26:24.000000000 -0400
> +++ linux-2.6-wk/drivers/usb/misc/isight_firmware.c 2008-08-07
> 13:23:01.000000000 -0400
> @@ -48,7 +48,8 @@
>
> if (request_firmware(&firmware, "isight.fw", &dev->dev) != 0) {
> printk(KERN_ERR "Unable to load isight firmware\n");
> - return -ENODEV;
> + ret = -ENODEV;
> + goto out;
> }
>
> ptr = firmware->data;
> @@ -91,7 +92,6 @@
> buf, llen, 300) != llen) {
> printk(KERN_ERR
> "Failed to load isight firmware\n");
> - kfree(buf);
> ret = -ENODEV;
> goto out;
> }
>

Applied;
I guess with this BUG,
it's more of a waiting game.
("one day it's fine; the next is black")
anyways the module loads, and the firmware
is loading as well. If something like this appears
I'll send a post.

regards;
--
Justin P. Mattock