summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Eissing <icing@apache.org>2023-03-31 12:04:33 +0000
committerStefan Eissing <icing@apache.org>2023-03-31 12:04:33 +0000
commitcd2312bdb6f25c781ac73922cfdbc753178e3dda (patch)
treec46ea53392136cb7bc6ed2ba5815ac5ea24eba13
parentdf0ad188c34b17e487ad631257952e064949f1f8 (diff)
downloadhttpd-cd2312bdb6f25c781ac73922cfdbc753178e3dda.tar.gz
Merge r1908691 from trunk:
*) mod_http2: fixed a crash during connection termination. See PR 66539. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1908852 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--changes-entries/http2_pr66539.txt2
-rw-r--r--modules/http2/h2_request.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/changes-entries/http2_pr66539.txt b/changes-entries/http2_pr66539.txt
new file mode 100644
index 0000000000..73433300c3
--- /dev/null
+++ b/changes-entries/http2_pr66539.txt
@@ -0,0 +1,2 @@
+ *) mod_http2: fixed a crash during connection termination. See PR 66539.
+ [Stefan Eissing]
diff --git a/modules/http2/h2_request.c b/modules/http2/h2_request.c
index bddbad5180..20e94cd8a3 100644
--- a/modules/http2/h2_request.c
+++ b/modules/http2/h2_request.c
@@ -279,7 +279,7 @@ static request_rec *my_ap_create_request(conn_rec *c)
apr_bucket *h2_request_create_bucket(const h2_request *req, request_rec *r)
{
conn_rec *c = r->connection;
- apr_table_t *headers = apr_table_copy(r->pool, req->headers);
+ apr_table_t *headers = apr_table_clone(r->pool, req->headers);
const char *uri = req->path;
AP_DEBUG_ASSERT(req->authority);
@@ -303,7 +303,7 @@ static void assign_headers(request_rec *r, const h2_request *req,
{
const char *cl;
- r->headers_in = apr_table_copy(r->pool, req->headers);
+ r->headers_in = apr_table_clone(r->pool, req->headers);
if (req->authority) {
/* for internal handling, we have to simulate that :authority
* came in as Host:, RFC 9113 ch. says that mismatches between