USB: Memory leak in drivers/usb/serial/airprime.c
authorEric Sesterhenn <snakebyte@gmx.de>
Tue, 10 Oct 2006 21:42:50 +0000 (14:42 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 17 Oct 2006 21:46:33 +0000 (14:46 -0700)
the commit
http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=5dda171202f94127e49c12daf780cdae1b4e668b
added a memory leak.  In case we cant allocate an urb, we dont free the
buffer and leak it.  Coverity id #1438

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Acked-by: Andy Gay <andy@andynet.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/airprime.c

index 392a5129af64c06c3310c22c40047cf15de84229..ba93c72cdba08618b57f9509df4ffa46c6c000bc 100644 (file)
@@ -134,6 +134,7 @@ static int airprime_open(struct usb_serial_port *port, struct file *filp)
                }
                urb = usb_alloc_urb(0, GFP_KERNEL);
                if (!urb) {
+                       kfree(buffer);
                        dev_err(&port->dev, "%s - no more urbs?\n",
                                __FUNCTION__);
                        result = -ENOMEM;