X-Git-Url: https://bbs.cooldavid.org/git/?a=blobdiff_plain;f=net%2Fsocket.c;h=3ca2fd9e37200e3e12f6606065acb8c982f25528;hb=24b7ea9f6c9787fad885442ed0cc010f1aa69cca;hp=5247ae10f374e9a9fe2331d8e1ad0c83f0da6f32;hpb=c0f62edd400115e54c52692c1dc6f5bf58ea0ba6;p=net-next-2.6.git diff --git a/net/socket.c b/net/socket.c index 5247ae10f37..3ca2fd9e372 100644 --- a/net/socket.c +++ b/net/socket.c @@ -1652,6 +1652,8 @@ SYSCALL_DEFINE6(sendto, int, fd, void __user *, buff, size_t, len, struct iovec iov; int fput_needed; + if (len > INT_MAX) + len = INT_MAX; sock = sockfd_lookup_light(fd, &err, &fput_needed); if (!sock) goto out; @@ -1709,6 +1711,8 @@ SYSCALL_DEFINE6(recvfrom, int, fd, void __user *, ubuf, size_t, size, int err, err2; int fput_needed; + if (size > INT_MAX) + size = INT_MAX; sock = sockfd_lookup_light(fd, &err, &fput_needed); if (!sock) goto out;