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;
}
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