Spotted with the source checker from Coverity.com.
Signed-off-by: Dave Jones <[email protected]>
diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/net/wireless/atmel.c linux-2.6/drivers/net/wireless/atmel.c
--- bk-linus/drivers/net/wireless/atmel.c 2004-08-11 00:00:37.000000000 +0100
+++ linux-2.6/drivers/net/wireless/atmel.c 2004-08-23 14:08:15.000000000 +0100
@@ -2430,12 +2430,13 @@ static int atmel_ioctl(struct net_device
rc = -ENOMEM;
break;
}
-
+
if (copy_from_user(new_firmware, com.data, com.len)) {
+ kfree(new_firmware);
rc = -EFAULT;
break;
}
-
+
if (priv->firmware)
kfree(priv->firmware);