If a request is too big, input->ignoreBytes is set. When ignoreBytes is set, the number of bytes "got now" is artificially set to zero so the rest of the server does not process the partial request.
Make sure the input buffer is not put back on the AvailableInput list, or the ignoreBytes count could be assigned to an unrelated client. Signed-off-by: Peter Harris <phar...@opentext.com> --- os/io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/os/io.c b/os/io.c index 0d980ab..3f7e3e0 100644 --- a/os/io.c +++ b/os/io.c @@ -451,7 +451,7 @@ ReadRequestFromClient(ClientPtr client) } } else { - if (!gotnow) + if (!gotnow && !oc->input->ignoreBytes) AvailableInput = oc; if (!SmartScheduleDisable) FD_CLR(fd, &ClientsWithInput); -- 1.7.10.4 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel