Skip to content

Commit

Permalink
Merge r1915281 from trunk:
Browse files Browse the repository at this point in the history
  *) mod_http2: v2.0.26 with the following fixes:
     - Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
       <icing/mod_h2#272>.
     - Fixed small memory leak in h2 header bucket free. Thanks to
       Michael Kaufmann for finding this and providing the fix.

Submitted by: icing
Reviewed by: icing, gbechis, jorton


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1916413 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
notroj committed Mar 19, 2024
1 parent fb6dd55 commit f7f0f9b
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 1 deletion.
6 changes: 6 additions & 0 deletions changes-entries/h2_date_and_bucket_leak.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
*) mod_http2: v2.0.26 with the following fixes:
- Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes
<https://github.com/icing/mod_h2/issues/272>.
- Fixed small memory leak in h2 header bucket free. Thanks to
Michael Kaufmann for finding this and providing the fix.

11 changes: 10 additions & 1 deletion modules/http2/h2_headers.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,18 @@ h2_headers *h2_bucket_headers_get(apr_bucket *b)
return NULL;
}

static void bucket_destroy(void *data)
{
h2_bucket_headers *h = data;

if (apr_bucket_shared_destroy(h)) {
apr_bucket_free(h);
}
}

const apr_bucket_type_t h2_bucket_type_headers = {
"H2HEADERS", 5, APR_BUCKET_METADATA,
apr_bucket_destroy_noop,
bucket_destroy,
bucket_read,
apr_bucket_setaside_noop,
apr_bucket_split_notimpl,
Expand Down
1 change: 1 addition & 0 deletions modules/http2/h2_request.c
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ apr_status_t h2_request_rcreate(h2_request **preq, apr_pool_t *pool,
req->path = path;
req->headers = apr_table_make(pool, 10);
req->http_status = H2_HTTP_STATUS_UNSET;
req->request_time = apr_time_now();

x.pool = pool;
x.headers = req->headers;
Expand Down

0 comments on commit f7f0f9b

Please sign in to comment.