Blame SOURCES/httpd-2.4.6-proxybrigade.patch

af9b8b
--- a/modules/proxy/mod_proxy_http.c	2013/12/26 18:21:15	1553539
af9b8b
+++ b/modules/proxy/mod_proxy_http.c	2013/12/26 18:25:04	1553540
af9b8b
@@ -710,7 +710,7 @@
af9b8b
         force10 = 0;
af9b8b
     }
af9b8b
 
af9b8b
-    header_brigade = apr_brigade_create(p, origin->bucket_alloc);
af9b8b
+    header_brigade = apr_brigade_create(p, bucket_alloc);
af9b8b
     rv = ap_proxy_create_hdrbrgd(p, header_brigade, r, p_conn,
af9b8b
                                  worker, conf, uri, url, server_portstr,
af9b8b
                                  &old_cl_val, &old_te_val);
af9b8b
@@ -1813,6 +1813,10 @@
af9b8b
         }
af9b8b
     } while (interim_response && (interim_response < AP_MAX_INTERIM_RESPONSES));
af9b8b
 
af9b8b
+    /* We have to cleanup bb brigade, because buckets inserted to it could be
af9b8b
+     * created from scpool and this pool can be freed before this brigade. */
af9b8b
+    apr_brigade_cleanup(bb);
af9b8b
+
af9b8b
     /* See define of AP_MAX_INTERIM_RESPONSES for why */
af9b8b
     if (interim_response >= AP_MAX_INTERIM_RESPONSES) {
af9b8b
         return ap_proxyerror(r, HTTP_BAD_GATEWAY,