]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: stconn: Remove useless test on sedesc on detach to release the xref
authorChristopher Faulet <cfaulet@haproxy.com>
Mon, 15 May 2023 07:53:29 +0000 (09:53 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Mon, 15 May 2023 07:53:30 +0000 (09:53 +0200)
When the SC is detached from the endpoint, the xref between the endpoints is
removed. At this stage, the sedesc cannot be undefined. So we can remove the
test on it.

This issue should fix the issue #2156. No backport needed.

src/stconn.c

index 2339566d7dcf51888c048a90b9e04fcbeda9469b..3d80b2c1909aa8a3cf9569207d5bbdf9ce324102 100644 (file)
@@ -351,18 +351,16 @@ int sc_attach_strm(struct stconn *sc, struct stream *strm)
 static void sc_detach_endp(struct stconn **scp)
 {
        struct stconn *sc = *scp;
+       struct xref *peer;
 
        if (!sc)
                return;
 
-       if (sc->sedesc) {
-               struct xref *peer;
 
-               /* Remove my link in the original objects. */
-               peer = xref_get_peer_and_lock(&sc->sedesc->xref);
-               if (peer)
-                       xref_disconnect(&sc->sedesc->xref, peer);
-       }
+       /* Remove my link in the original objects. */
+       peer = xref_get_peer_and_lock(&sc->sedesc->xref);
+       if (peer)
+               xref_disconnect(&sc->sedesc->xref, peer);
 
        if (sc_ep_test(sc, SE_FL_T_MUX)) {
                struct connection *conn = __sc_conn(sc);