]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
revert r1857857.
authorChristophe Jaillet <jailletc36@apache.org>
Wed, 24 Apr 2019 20:22:54 +0000 (20:22 +0000)
committerChristophe Jaillet <jailletc36@apache.org>
Wed, 24 Apr 2019 20:22:54 +0000 (20:22 +0000)
The comment is useful and the dead-code is future proof (and should be axed by the compiler anyway)

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

modules/http/http_core.c

index a241783673fdf3be69d803dc94e3f4e3ff9438ba..746cf704a7bc29d519f3c7fe896b9d9a713df3b9 100644 (file)
@@ -57,6 +57,7 @@ static const char *set_keep_alive_timeout(cmd_parms *cmd, void *dummy,
         return err;
     }
 
+    /* Stolen from mod_proxy.c */
     if (ap_timeout_parameter_parse(arg, &timeout, "s") != APR_SUCCESS)
         return "KeepAliveTimeout has wrong format";
     cmd->server->keep_alive_timeout = timeout;
@@ -155,6 +156,14 @@ static int ap_process_http_async_connection(conn_rec *c)
                 }
                 ap_update_child_status(c->sbh, SERVER_BUSY_WRITE, r);
                 ap_process_async_request(r);
+                /* After the call to ap_process_request, the
+                 * request pool may have been deleted.  We set
+                 * r=NULL here to ensure that any dereference
+                 * of r that might be added later in this function
+                 * will result in a segfault immediately instead
+                 * of nondeterministic failures later.
+                 */
+                r = NULL;
             }
 
             if (cs->state != CONN_STATE_WRITE_COMPLETION &&