diff options
-rw-r--r-- | os/io.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -441,6 +441,11 @@ ReadRequestFromClient(ClientPtr client) if (!gotnow) AvailableInput = oc; if (move_header) { + if (client->req_len < bytes_to_int32(sizeof(xBigReq) - sizeof(xReq))) { + YieldControlDeath(); + return -1; + } + request = (xReq *) oci->bufptr; oci->bufptr += (sizeof(xBigReq) - sizeof(xReq)); *(xReq *) oci->bufptr = *request; |