[PATCH 2.6.19-rc4] usb auerswald possible memleak fix

From: Mariusz Kozlowski
Date: Mon Nov 06 2006 - 13:04:40 EST


Hello,

There is possible memleak in auerbuf_setup(). Fix is to replace kfree() with auerbuf_free().
An argument to usb_free_urb() does not need a check as usb_free_urb() already does that. Not sure if I should
send this in two separate patches. The patch is against 2.6.19-rc4 (not -mm).

Signed-off-by: Mariusz Kozlowski <m.kozlowski@xxxxxxxxxx>

diff -up linux-2.6.19-rc4-orig/drivers/usb/misc/auerswald.c linux-2.6.19-rc4/drivers/usb/misc/auerswald.c
--- linux-2.6.19-rc4-orig/drivers/usb/misc/auerswald.c 2006-11-06 17:08:20.000000000 +0100
+++ linux-2.6.19-rc4/drivers/usb/misc/auerswald.c 2006-11-06 18:25:32.000000000 +0100
@@ -704,9 +704,7 @@ static void auerbuf_free (pauerbuf_t bp)
{
kfree(bp->bufp);
kfree(bp->dr);
- if (bp->urbp) {
- usb_free_urb(bp->urbp);
- }
+ usb_free_urb(bp->urbp);
kfree(bp);
}

@@ -780,7 +778,7 @@ static int auerbuf_setup (pauerbufctl_t

bl_fail:/* not enough memory. Free allocated elements */
dbg ("auerbuf_setup: no more memory");
- kfree(bep);
+ auerbuf_free(bep);
auerbuf_free_buffers (bcp);
return -ENOMEM;
}
@@ -1085,10 +1083,8 @@ exit:
*/
static void auerswald_int_free (pauerswald_t cp)
{
- if (cp->inturbp) {
- usb_free_urb(cp->inturbp);
- cp->inturbp = NULL;
- }
+ usb_free_urb(cp->inturbp);
+ cp->inturbp = NULL;
kfree(cp->intbufp);
cp->intbufp = NULL;
}
-
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/