ip6mr: Add sizeof verification to MRT6_ASSERT and MT6_PIM
[deliverable/linux.git] / net / ipv6 / ip6mr.c
index 79bb49061ef6ddb5398c3213ddb2da14f49b5fc7..926ea544f499e93c895b42e9677d316f7cff481d 100644 (file)
@@ -1646,6 +1646,9 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, char __user *optval, uns
        case MRT6_ASSERT:
        {
                int v;
+
+               if (optlen != sizeof(v))
+                       return -EINVAL;
                if (get_user(v, (int __user *)optval))
                        return -EFAULT;
                mrt->mroute_do_assert = v;
@@ -1656,6 +1659,9 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, char __user *optval, uns
        case MRT6_PIM:
        {
                int v;
+
+               if (optlen != sizeof(v))
+                       return -EINVAL;
                if (get_user(v, (int __user *)optval))
                        return -EFAULT;
                v = !!v;
This page took 0.023951 seconds and 5 git commands to generate.