2003-03-12 19:52:14

by Oleg Drokin

[permalink] [raw]
Subject: Memleak in KOBIL USB Smart Card Terminal Driver

Hello!

There is a memleak on error exit path in KOBIL USB Smart Card Terminal
Driver in both current 2.4 and 2.5.
See the patch.
Found with help of smatch + enhanced unfree script.

Bye,
Oleg

===== drivers/usb/serial/kobil_sct.c 1.2 vs edited =====
--- 1.2/drivers/usb/serial/kobil_sct.c Wed Dec 11 03:31:09 2002
+++ edited/drivers/usb/serial/kobil_sct.c Wed Mar 12 22:57:33 2003
@@ -254,6 +254,7 @@
port->write_urb = usb_alloc_urb(0);
if (!port->write_urb) {
dbg("%s - port %d usb_alloc_urb failed", __FUNCTION__, port->number);
+ kfree(transfer_buffer);
return -1;
}
}
@@ -261,6 +262,7 @@
// allocate memory for write_urb transfer buffer
port->write_urb->transfer_buffer = (unsigned char *) kmalloc(write_urb_transfer_buffer_length, GFP_KERNEL);
if (! port->write_urb->transfer_buffer) {
+ kfree(transfer_buffer);
return -1;
}


2003-03-14 18:32:57

by Greg KH

[permalink] [raw]
Subject: Re: Memleak in KOBIL USB Smart Card Terminal Driver

On Wed, Mar 12, 2003 at 11:00:50PM +0300, Oleg Drokin wrote:
> Hello!
>
> There is a memleak on error exit path in KOBIL USB Smart Card Terminal
> Driver in both current 2.4 and 2.5.
> See the patch.
> Found with help of smatch + enhanced unfree script.

Applied to both my 2.4 and 2.5 trees, thanks.

greg k-h