Explorar o código

ipv6: Check IPV6_MULTICAST_LOOP option value.

Only 0 and 1 are valid for IPV6_MULTICAST_LOOP socket option,
and we should return an error of EINVAL otherwise, per RFC3493.

Based on patch from Shan Wei <shanwei@cn.fujitsu.com>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
YOSHIFUJI Hideaki %!s(int64=17) %!d(string=hai) anos
pai
achega
28d4488216
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      net/ipv6/ipv6_sockglue.c

+ 2 - 0
net/ipv6/ipv6_sockglue.c

@@ -458,6 +458,8 @@ done:
 	case IPV6_MULTICAST_LOOP:
 		if (optlen < sizeof(int))
 			goto e_inval;
+		if (val != valbool)
+			goto e_inval;
 		np->mc_loop = valbool;
 		retv = 0;
 		break;