From: Ryan Bloom Date: Tue, 7 Aug 2001 16:40:25 +0000 (+0000) Subject: Back out a patch that wasn't ready for inclusion. Thanks to OtherBill X-Git-Tag: 2.0.23~27 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=556941bf1d74ac85532c484309b7f38fd40c025c;p=apache Back out a patch that wasn't ready for inclusion. Thanks to OtherBill for pointing out that this was committed when it shouldn't have been. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89990 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/protocol.c b/server/protocol.c index 305ca53e67..edb9a9786f 100644 --- a/server/protocol.c +++ b/server/protocol.c @@ -1135,30 +1135,14 @@ AP_DECLARE(int) ap_rwrite(const void *buf, int nbyte, request_rec *r) AP_DECLARE(int) ap_vrprintf(request_rec *r, const char *fmt, va_list va) { - char *buf; - int buf_size = 4096; /* start with a 4k buffer */ + char buf[4096]; apr_size_t written; if (r->connection->aborted) return -1; - buf = apr_palloc(r->pool, buf_size); - while (1) { - written = apr_vsnprintf(buf, buf_size, fmt, va); - - /* - * Per the apr_vsnprintf comments, in no event does apr_snprintf return a negative number. - * Therefore, it's not possible to distinguish between an output which was truncated, - * and an output which exactly filled the buffer. - */ - if (written == buf_size) { - buf_size *= 2; - buf = apr_palloc(r->pool, buf_size); /* want realloc */ - } - else { - break; - } - } + /* ### fix this mechanism to allow more than 4K of output */ + written = apr_vsnprintf(buf, sizeof(buf), fmt, va); if (buffer_output(r, buf, written) != APR_SUCCESS) return -1;