diff --git a/src/mux_fcgi.c b/src/mux_fcgi.c index 56a9a0bd0..cdb118c3a 100644 --- a/src/mux_fcgi.c +++ b/src/mux_fcgi.c @@ -3576,7 +3576,7 @@ static void fcgi_destroy(void *ctx) struct fcgi_conn *fconn = ctx; TRACE_POINT(FCGI_EV_FCONN_END, fconn->conn); - if (eb_is_empty(&fconn->streams_by_id) || !fconn->conn || fconn->conn->ctx != fconn) + if (eb_is_empty(&fconn->streams_by_id) || fconn->conn->ctx != fconn) fcgi_release(fconn); } diff --git a/src/mux_h1.c b/src/mux_h1.c index 12769d95b..fb4cd28f4 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -3337,7 +3337,7 @@ static void h1_destroy(void *ctx) struct h1c *h1c = ctx; TRACE_POINT(H1_EV_H1C_END, h1c->conn); - if (!h1c->h1s || !h1c->conn || h1c->conn->ctx != h1c) + if (!h1c->h1s || h1c->conn->ctx != h1c) h1_release(h1c); } diff --git a/src/mux_h2.c b/src/mux_h2.c index af312c1a3..d73e0cf44 100644 --- a/src/mux_h2.c +++ b/src/mux_h2.c @@ -4350,7 +4350,7 @@ static void h2_destroy(void *ctx) struct h2c *h2c = ctx; TRACE_ENTER(H2_EV_H2C_END, h2c->conn); - if (eb_is_empty(&h2c->streams_by_id) || !h2c->conn || h2c->conn->ctx != h2c) + if (eb_is_empty(&h2c->streams_by_id) || h2c->conn->ctx != h2c) h2_release(h2c); TRACE_LEAVE(H2_EV_H2C_END); } diff --git a/src/mux_pt.c b/src/mux_pt.c index 0c36c794e..5c01ae548 100644 --- a/src/mux_pt.c +++ b/src/mux_pt.c @@ -413,9 +413,10 @@ static void mux_pt_destroy_meth(void *ctx) struct mux_pt_ctx *pt = ctx; TRACE_POINT(PT_EV_CONN_END, pt->conn, pt->cs); - if ((pt->endp->flags & CS_EP_ORPHAN) || !(pt->conn) || pt->conn->ctx != pt) { - if (pt->conn->ctx != pt) + if ((pt->endp->flags & CS_EP_ORPHAN) || pt->conn->ctx != pt) { + if (pt->conn->ctx != pt) { pt->endp = NULL; + } mux_pt_destroy(pt); } }