[PATCH] [2.4] Fix memleak on error exit path in sk98 driver.

From: Oleg Drokin
Date: Sun Sep 21 2003 - 06:46:27 EST


Hello!

There is a trivial memleak in sk98 ioctl handling routinue,
the patch is also trivial. Please apply.
Found with help of smatch.

===== drivers/net/sk98lin/skge.c 1.14 vs edited =====
--- 1.14/drivers/net/sk98lin/skge.c Wed Sep 3 21:15:10 2003
+++ edited/drivers/net/sk98lin/skge.c Sun Sep 21 15:38:01 2003
@@ -3616,20 +3616,21 @@
Length = sizeof(pAC->PnmiStruct) + HeaderLength;
}
if (NULL == (pMemBuf = kmalloc(Length, GFP_KERNEL))) {
- return -EFAULT;
+ return -ENOMEM;
}
if(copy_from_user(pMemBuf, Ioctl.pData, Length)) {
- return -EFAULT;
+ goto fault;
}
if ((Ret = SkPnmiGenIoctl(pAC, pAC->IoBase, pMemBuf, &Length, 0)) < 0) {
- return -EFAULT;
+ goto fault;
}
if(copy_to_user(Ioctl.pData, pMemBuf, Length) ) {
- return -EFAULT;
+ goto fault;
}
Ioctl.Len = Length;
if(copy_to_user(rq->ifr_data, &Ioctl, sizeof(SK_GE_IOCTL))) {
- return -EFAULT;
+fault:
+ Err = -EFAULT;
}
kfree(pMemBuf); /* cleanup everything */
break;
-
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/