diff options
Diffstat (limited to 'net/ipv4/ipmr.c')
-rw-r--r-- | net/ipv4/ipmr.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c index fc09ef936636..58e4160fdcee 100644 --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c | |||
@@ -1323,6 +1323,10 @@ int ip_mroute_setsockopt(struct sock *sk, int optname, char __user *optval, unsi | |||
1323 | if (get_user(v, (u32 __user *)optval)) | 1323 | if (get_user(v, (u32 __user *)optval)) |
1324 | return -EFAULT; | 1324 | return -EFAULT; |
1325 | 1325 | ||
1326 | /* "pimreg%u" should not exceed 16 bytes (IFNAMSIZ) */ | ||
1327 | if (v != RT_TABLE_DEFAULT && v >= 1000000000) | ||
1328 | return -EINVAL; | ||
1329 | |||
1326 | rtnl_lock(); | 1330 | rtnl_lock(); |
1327 | ret = 0; | 1331 | ret = 0; |
1328 | if (sk == rtnl_dereference(mrt->mroute_sk)) { | 1332 | if (sk == rtnl_dereference(mrt->mroute_sk)) { |