diff options
Diffstat (limited to 'net/compat.c')
-rw-r--r-- | net/compat.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/compat.c b/net/compat.c index 9629f053d4fa..319f30637a86 100644 --- a/net/compat.c +++ b/net/compat.c @@ -362,8 +362,12 @@ static int __compat_sys_setsockopt(int fd, int level, int optname, char __user *optval, unsigned int optlen) { int err; - struct socket *sock = sockfd_lookup(fd, &err); + struct socket *sock; + + if (optlen > INT_MAX) + return -EINVAL; + sock = sockfd_lookup(fd, &err); if (sock) { err = security_socket_setsockopt(sock, level, optname); if (err) { |