diff options
author | Eric Anholt <eric@anholt.net> | 2007-08-31 13:00:23 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2007-08-31 13:09:45 -0700 |
commit | ca82d4bddf235c9b68d51d68636bab40eafb9889 (patch) | |
tree | 8441e9fa98d482374245d085454702a1336e7d45 /os/io.c | |
parent | a02db0d500cac20d0f0f107d27c064a175018421 (diff) |
Bug #7186: Fix an excessive request size limitation that broke big-requests.
MAXBUFSIZE appears to be a leftover of some previous time. Instead, just
use maxBigRequestSize when bigreqs are available (limiting buffers to ~16MB).
When bigreqs are not available, needed won't be larger than the maximum
size of a non-bigreqs request (256kB).
Diffstat (limited to 'os/io.c')
-rw-r--r-- | os/io.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -304,12 +304,14 @@ ReadRequestFromClient(ClientPtr client) */ oci->lenLastReq = 0; - if (needed > MAXBUFSIZE) +#ifdef BIGREQS + if (needed > maxBigRequestSize << 2) { /* request is too big for us to handle */ YieldControlDeath(); return -1; } +#endif if ((gotnow == 0) || ((oci->bufptr - oci->buffer + needed) > oci->size)) { |