From 556941bf1d74ac85532c484309b7f38fd40c025c Mon Sep 17 00:00:00 2001 From: Ryan Bloom Date: Tue, 7 Aug 2001 16:40:25 +0000 Subject: [PATCH] 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 --- server/protocol.c | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) 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; -- 2.50.1