In vlan_ioctl_handler() the code misses couple checks for
error return values.
Signed-of-by: Mika Kukkonen <[email protected]>
---
net/8021q/vlan.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index 91e412b..67465b6 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -753,6 +753,8 @@ static int vlan_ioctl_handler(void __use
break;
case GET_VLAN_REALDEV_NAME_CMD:
err = vlan_dev_get_realdev_name(args.device1, args.u.device2);
+ if (err)
+ goto out;
if (copy_to_user(arg, &args,
sizeof(struct vlan_ioctl_args))) {
err = -EFAULT;
@@ -761,6 +763,8 @@ static int vlan_ioctl_handler(void __use
case GET_VLAN_VID_CMD:
err = vlan_dev_get_vid(args.device1, &vid);
+ if (err)
+ goto out;
args.u.VID = vid;
if (copy_to_user(arg, &args,
sizeof(struct vlan_ioctl_args))) {
@@ -774,7 +778,7 @@ static int vlan_ioctl_handler(void __use
__FUNCTION__, args.cmd);
return -EINVAL;
};
-
+out:
return err;
}
From: Mika Kukkonen <[email protected]>
Date: Wed, 21 Dec 2005 22:50:15 +0200
> In vlan_ioctl_handler() the code misses couple checks for
> error return values.
>
> Signed-of-by: Mika Kukkonen <[email protected]>
Looks good, applied, thanks.