File: old-memory-handling-http2.patch

package info (click to toggle)
apache2 2.4.66-8
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 59,960 kB
  • sloc: ansic: 212,327; python: 13,830; perl: 11,307; sh: 7,266; php: 1,320; javascript: 1,314; awk: 749; makefile: 715; lex: 374; yacc: 161; xml: 2
file content (40 lines) | stat: -rw-r--r-- 1,434 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
subject: Fix http2 segfault
from: Thorsten Glaser <tg@debian.org>

origin: from https://github.com/icing/mod_h2/issues/313#issuecomment-3834622658

Index: apache2/modules/http2/h2_session.c
===================================================================
--- apache2.orig/modules/http2/h2_session.c	2026-03-01 14:23:09.430686940 +0100
+++ apache2/modules/http2/h2_session.c	2026-03-01 14:23:09.427877302 +0100
@@ -111,29 +111,13 @@
     h2_mplx_c1_streams_do(session->mplx, rst_unprocessed_stream, session);
 }
 
-/* APR callback invoked if allocation fails. */
-static int abort_on_oom(int retcode)
-{
-    ap_abort_on_oom();
-    return retcode; /* unreachable, hopefully. */
-}
-
 static h2_stream *h2_session_open_stream(h2_session *session, int stream_id,
                                          int initiated_on)
 {
     h2_stream * stream;
-    apr_allocator_t *allocator;
     apr_pool_t *stream_pool;
-    apr_status_t rv;
-
-    rv = apr_allocator_create(&allocator);
-    if (rv != APR_SUCCESS)
-      return NULL;
 
-    apr_allocator_max_free_set(allocator, ap_max_mem_free);
-    apr_pool_create_ex(&stream_pool, session->pool, NULL, allocator);
-    apr_allocator_owner_set(allocator, stream_pool);
-    apr_pool_abort_set(abort_on_oom, stream_pool);
+    apr_pool_create(&stream_pool, session->pool);
     apr_pool_tag(stream_pool, "h2_stream");
 
     stream = h2_stream_create(stream_id, stream_pool, session,