diff --git a/xserver/os/io.c b/xserver/os/io.c index 26f9161ef..83986af92 100644 --- a/xserver/os/io.c +++ b/xserver/os/io.c @@ -395,6 +395,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) {