ChangeSet 1.1006.11.6, 2003/03/14 10:47:15-08:00, green@linuxhacker.ru [PATCH] Memleak in KOBIL USB Smart Card Terminal Driver 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. drivers/usb/serial/kobil_sct.c | 2 ++ 1 files changed, 2 insertions(+) diff -Nru a/drivers/usb/serial/kobil_sct.c b/drivers/usb/serial/kobil_sct.c --- a/drivers/usb/serial/kobil_sct.c Thu Mar 27 16:02:31 2003 +++ b/drivers/usb/serial/kobil_sct.c Thu Mar 27 16:02:31 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; }