From: Willy Tarreau Date: Thu, 11 Aug 2022 11:56:42 +0000 (+0200) Subject: BUILD: stconn: fix build warning at -O3 about possible null sc X-Git-Tag: v2.7-dev4~60 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6a378d1677cbab31987a0979726b68b25612197a;p=thirdparty%2Fhaproxy.git BUILD: stconn: fix build warning at -O3 about possible null sc gcc-6.x and 7.x emit build warnings about sc possibly being null upon return from sc_detach_endp(). This actually is not the case and the compiler is a little bit overzealous there, but there exists code paths that can make this analysis non-trivial so let's at least add a similar BUG_ON() to let both the compiler and the deverloper know this doesn't happen. This should be backported to 2.6. --- diff --git a/src/stconn.c b/src/stconn.c index 3ffdf51812..36d19b46fe 100644 --- a/src/stconn.c +++ b/src/stconn.c @@ -459,6 +459,7 @@ int sc_reset_endp(struct stconn *sc) /* The app is still attached, the sc will not be released */ sc_detach_endp(&sc); + BUG_ON(!sc); BUG_ON(sc->sedesc); sc->sedesc = new_sd; sc->sedesc->sc = sc; @@ -1977,5 +1978,6 @@ void sc_conn_commit_endp_upgrade(struct stconn *sc) return; sc_detach_endp(&sc); /* Because it was already set as detached, the sedesc must be preserved */ + BUG_ON(!sc); BUG_ON(!sc->sedesc); }