From: William A. Rowe Jr Date: Thu, 26 Jul 2001 16:05:36 +0000 (+0000) Subject: This patch should address input buffering, requesting only as much from X-Git-Tag: 2.0.22~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cac7abfbb5aa3cff73a0874a7ee3449314e1822c;p=thirdparty%2Fapache%2Fhttpd.git This patch should address input buffering, requesting only as much from the client as the ap_get_client_block() buffer is prepared to accept. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89728 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/http/http_protocol.c b/modules/http/http_protocol.c index b8f4b03da5e..e1715ffa502 100644 --- a/modules/http/http_protocol.c +++ b/modules/http/http_protocol.c @@ -1435,8 +1435,11 @@ AP_DECLARE(long) ap_get_client_block(request_rec *r, char *buffer, apr_size_t bu do { if (APR_BRIGADE_EMPTY(bb)) { + apr_size_t asmuch = bufsiz; + if (r->remaining < asmuch) + asmuch = (apr_size_t)r->remaining; if (ap_get_brigade(r->input_filters, bb, AP_MODE_BLOCKING, - &r->remaining) != APR_SUCCESS) { + &asmuch) != APR_SUCCESS) { /* if we actually fail here, we want to just return and * stop trying to read data from the client. */