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>
This commit is contained in:
parent
e8766fc86b
commit
28d4488216
|
@ -458,6 +458,8 @@ done:
|
||||||
case IPV6_MULTICAST_LOOP:
|
case IPV6_MULTICAST_LOOP:
|
||||||
if (optlen < sizeof(int))
|
if (optlen < sizeof(int))
|
||||||
goto e_inval;
|
goto e_inval;
|
||||||
|
if (val != valbool)
|
||||||
|
goto e_inval;
|
||||||
np->mc_loop = valbool;
|
np->mc_loop = valbool;
|
||||||
retv = 0;
|
retv = 0;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue