]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/ipv6/ipv6_sockglue.c
[IPV6]: Fix the return value of get destination options with NULL data pointer
[linux-2.6-omap-h63xx.git] / net / ipv6 / ipv6_sockglue.c
index 56d55fecf8ec49d49a79e804b0129e8570441df5..aa7bedf780e53cd6641e2a4831e00e27f867d902 100644 (file)
@@ -975,6 +975,9 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
                len = ipv6_getsockopt_sticky(sk, np->opt,
                                             optname, optval, len);
                release_sock(sk);
+               /* check if ipv6_getsockopt_sticky() returns err code */
+               if (len < 0)
+                       return len;
                return put_user(len, optlen);
        }