summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorStefan Eissing <icing@apache.org>2024-10-01 12:36:42 +0200
committerStefan Eissing <icing@apache.org>2024-10-01 12:36:42 +0200
commit4c6d51cbacda457160fd97abf88c37e7189df759 (patch)
treef25d816caa4f52ab3e1445295028c03d014f454e /modules
parent* Fix typo [skip ci] (diff)
downloadapache2-4c6d51cbacda457160fd97abf88c37e7189df759.tar.xz
apache2-4c6d51cbacda457160fd97abf88c37e7189df759.zip
*) mod_http2:
h2_mplx: fix debug check when stream was not found A "this should never happen" check logic was wrong when looking *why* a stream that SHOULD be there was not. The loop did not properly match streams in "purge" state. The log warning issued has never been reported, so this code seems to never actually do anything. Still fix the logic to do what it is intended to. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1921066 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules')
-rw-r--r--modules/http2/h2_mplx.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/modules/http2/h2_mplx.c b/modules/http2/h2_mplx.c
index 71a743177f..39e9b1b001 100644
--- a/modules/http2/h2_mplx.c
+++ b/modules/http2/h2_mplx.c
@@ -1018,7 +1018,8 @@ static void s_c2_done(h2_mplx *m, conn_rec *c2, h2_conn_ctx_t *conn_ctx)
int i;
for (i = 0; i < m->spurge->nelts; ++i) {
- if (stream == APR_ARRAY_IDX(m->spurge, i, h2_stream*)) {
+ stream = APR_ARRAY_IDX(m->spurge, i, h2_stream*);
+ if (stream && (stream->id == conn_ctx->stream_id)) {
ap_log_cerror(APLOG_MARK, APLOG_WARNING, 0, c2,
H2_STRM_LOG(APLOGNO(03517), stream, "already in spurge"));
ap_assert("stream should not be in spurge" == NULL);