]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
* modules/generators/cgi_common.h (cgi_handle_response): Avoid trying
authorJoe Orton <jorton@apache.org>
Fri, 4 Sep 2020 13:56:25 +0000 (13:56 +0000)
committerJoe Orton <jorton@apache.org>
Fri, 4 Sep 2020 13:56:25 +0000 (13:56 +0000)
  to read the output brigade twice in the case of a timeout.

PR: 64709

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1881459 13f79535-47bb-0310-9956-ffa450edef68

modules/generators/cgi_common.h

index f97e7a2390b1e9f1fc49462626444fe844598057..dc2bba962bb2e4912ff6d72ae331cf25507f2173 100644 (file)
@@ -259,6 +259,13 @@ static int cgi_handle_response(request_rec *r, int nph, apr_bucket_brigade *bb,
         if ((ret = ap_scan_script_header_err_brigade_ex(r, bb, sbuf,
                                                         APLOG_MODULE_INDEX)))
         {
+            /* In the case of a timeout reading script output, clear
+             * the brigade to avoid a second attempt to read the
+             * output. */
+            if (ret == HTTP_GATEWAY_TIME_OUT) {
+                apr_brigade_cleanup(bb);
+            }
+
             ret = log_script(r, conf, ret, logdata, sbuf, bb, script_err);
 
             /*