]> git.kaiwu.me - haproxy.git/commitdiff
BUG/MINOR: mux-h1: only check h1s if not NULL
authorWilly Tarreau <w@1wt.eu>
Mon, 11 May 2026 12:44:12 +0000 (14:44 +0200)
committerWilly Tarreau <w@1wt.eu>
Mon, 11 May 2026 14:04:19 +0000 (16:04 +0200)
Since we can emit glitches during an H2 upgrade, we no longer have a
guaranteed h1s, so _h1_report_glitch() must check h1s before
dereferencing it. No backport is needed as this arrived in 3.4-dev11
with commit 72fd357814 ("MEDIUM: mux-h1: Return an error on h2 upgrade
attempts if not allowed").

src/mux_h1.c

index b5c0fd3a5de8c50b042bf8ac5a2401e03bb826df..f8eaaccfb3ebdf8b43ed6afc0f3dc5e8f64cf97c 100644 (file)
@@ -536,7 +536,8 @@ static inline int _h1_report_glitch(struct h1c *h1c, int increment)
                /* at 75% of the threshold, we switch to close mode
                 * to force clients to periodically reconnect.
                 */
-               h1c->h1s->flags = (h1c->h1s->flags & ~H1S_F_WANT_MSK) | H1S_F_WANT_CLO;
+               if (h1c->h1s)
+                       h1c->h1s->flags = (h1c->h1s->flags & ~H1S_F_WANT_MSK) | H1S_F_WANT_CLO;
 
                /* at 100% of the threshold and excess of CPU usage we also
                 * actively kill the connection.