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
1 changed files with 2 additions and 0 deletions
|
@ -458,6 +458,8 @@ static int do_ipv6_setsockopt(struct sock *sk, int level, int optname,
|
|||
case IPV6_MULTICAST_LOOP:
|
||||
if (optlen < sizeof(int))
|
||||
goto e_inval;
|
||||
if (val != valbool)
|
||||
goto e_inval;
|
||||
np->mc_loop = valbool;
|
||||
retv = 0;
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue