]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: mux-h2: Fix possible null pointer deref on h2c in _h2_trace_header()
authorChristopher Faulet <cfaulet@haproxy.com>
Mon, 30 Jan 2023 07:26:09 +0000 (08:26 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Mon, 30 Jan 2023 07:26:12 +0000 (08:26 +0100)
As reported by Coverity, this function may be called with no h2c. Thus, the
pointer must always be checked before any access. One test was missing in
TRACE_PRINTF_LOC().

This patch should fix the issue #2015. No backport needed, except if the
commit 11e8a8c2a ("MEDIUM: mux-h2/trace: add tracing support for headers")
is backported.

src/mux_h2.c

index 4e1a440986e7a07aef2f46f53a91d64ffe145ad3..4c5171a0bdc3dc857c37d9db58e4fce82ec979a6 100644 (file)
@@ -879,7 +879,7 @@ void _h2_trace_header(const struct ist hn, const struct ist hv,
                chunk_appendf(&trash, " (... +%ld)", (long)(hv.len - v_ist.len));
 
        TRACE_PRINTF_LOC(TRACE_LEVEL_USER, mask, trc_loc, func,
-                        h2c->conn, 0, 0, 0,
+                        (h2c ? h2c->conn : 0), 0, 0, 0,
                         "%s%s%s %s: %s", c_str, s_str,
                         (mask & H2_EV_TX_HDR) ? "sndh" : "rcvh",
                         n_ist.ptr, v_ist.ptr);