From 4a835a774558cdd773c875b82ea019b130aaf92d Mon Sep 17 00:00:00 2001 From: Joe Orton Date: Fri, 4 Oct 2019 09:24:07 +0000 Subject: [PATCH] * modules/generators/cgi_common.h (discard_script_output): Simplify slightly and ensure constant rather than unlimited memory consumption when discarding CGI script output (for e.g. a redirect response). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1867970 13f79535-47bb-0310-9956-ffa450edef68 --- modules/generators/cgi_common.h | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/modules/generators/cgi_common.h b/modules/generators/cgi_common.h index 6b24950e89..0ff66f94e3 100644 --- a/modules/generators/cgi_common.h +++ b/modules/generators/cgi_common.h @@ -32,19 +32,15 @@ static void discard_script_output(apr_bucket_brigade *bb) apr_bucket *e; const char *buf; apr_size_t len; - apr_status_t rv; for (e = APR_BRIGADE_FIRST(bb); - e != APR_BRIGADE_SENTINEL(bb); - e = APR_BUCKET_NEXT(e)) + e != APR_BRIGADE_SENTINEL(bb) && !APR_BUCKET_IS_EOS(e); + e = APR_BRIGADE_FIRST(bb)) { - if (APR_BUCKET_IS_EOS(e)) { - break; - } - rv = apr_bucket_read(e, &buf, &len, APR_BLOCK_READ); - if (rv != APR_SUCCESS) { + if (apr_bucket_read(e, &buf, &len, APR_BLOCK_READ)) { break; } + apr_bucket_delete(e); } } -- 2.50.1