[PATCH] [2.4] Fix possible memleaks in Ethtool ioctl handler

From: Oleg Drokin
Date: Sun Sep 21 2003 - 16:21:13 EST


Hello!

There are trivial memleaks in Ethtool ioctl handler, while not all that
dangerous since only root can cause them (I presume), still
trivial patch below is needed at least for the correctness sake.
Please apply.

Found with help of smatch.

===== net/core/ethtool.c 1.4 vs edited =====
--- 1.4/net/core/ethtool.c Tue Sep 2 04:26:28 2003
+++ edited/net/core/ethtool.c Mon Sep 22 01:17:14 2003
@@ -247,8 +247,10 @@
if (!data)
return -ENOMEM;

- if (copy_from_user(data, useraddr + sizeof(eeprom), len))
- return -EFAULT;
+ if (copy_from_user(data, useraddr + sizeof(eeprom), len)) {
+ ret = -EFAULT;
+ goto out;
+ }

ret = dev->ethtool_ops->get_eeprom(dev, &eeprom, data);
if (!ret)
@@ -287,8 +289,10 @@
if (!data)
return -ENOMEM;

- if (copy_from_user(data, useraddr + sizeof(eeprom), len))
- return -EFAULT;
+ if (copy_from_user(data, useraddr + sizeof(eeprom), len)) {
+ ret = -EFAULT;
+ goto out;
+ }

ret = dev->ethtool_ops->set_eeprom(dev, &eeprom, data);
if (ret)
-
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/