From: Willy Tarreau Date: Thu, 24 Feb 2022 18:35:05 +0000 (+0100) Subject: BUILD: stream: fix build warning with older compilers X-Git-Tag: v2.6-dev2~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c72d2c7e5b05b64b1188c0d34cced8ad47b62ebe;p=thirdparty%2Fhaproxy.git BUILD: stream: fix build warning with older compilers GCC 6 was not very good at value propagation and is often mislead about risks of null derefs. Since 2.6-dev commit 13a35e575 ("MAJOR: conn_stream/ stream-int: move the appctx to the conn-stream"), it sees a risk of null- deref in stream_upgrade_from_cs() after checking cs_conn_mux(cs). Let's disguise the result so that it doesn't complain anymore. The output code is exactly the same. The same method could be used to shut warnings at -O1 that affect the same compiler by the way. --- diff --git a/src/stream.c b/src/stream.c index 37cd79378f..23d431233e 100644 --- a/src/stream.c +++ b/src/stream.c @@ -278,7 +278,7 @@ int stream_upgrade_from_cs(struct conn_stream *cs, struct buffer *input) struct stream *s = cs_strm(cs); if (cs_conn_mux(cs)) { - const struct mux_ops *mux = cs_conn_mux(cs); + const struct mux_ops *mux = DISGUISE(cs_conn_mux(cs)); if (mux->flags & MX_FL_HTX) s->flags |= SF_HTX;