diff --git a/os/io.c b/os/io.c index e7b76b9ce..167b40a72 100644 --- a/os/io.c +++ b/os/io.c @@ -394,6 +394,8 @@ ReadRequestFromClient(ClientPtr client) needed = get_big_req_len(request, client); } client->req_len = needed; + if (needed > MAXINT >> 2) + return -(BadLength); needed <<= 2; } if (gotnow < needed) {