From: Tim Duesterhus Date: Sat, 22 Apr 2023 15:47:32 +0000 (+0200) Subject: CLEANUP: Stop checking the pointer before calling `tasklet_free()` X-Git-Tag: v2.8-dev8~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b1ec21d259c72559e2d170a09efc059d9fc58347;p=thirdparty%2Fhaproxy.git CLEANUP: Stop checking the pointer before calling `tasklet_free()` Changes performed with this Coccinelle patch: @@ expression e; @@ - if (e != NULL) { tasklet_free(e); - } @@ expression e; @@ - if (e) { tasklet_free(e); - } @@ expression e; @@ - if (e) tasklet_free(e); @@ expression e; @@ - if (e != NULL) tasklet_free(e); See GitHub Issue #2126 --- diff --git a/src/event_hdl.c b/src/event_hdl.c index 7bf0f16d5b..5637741089 100644 --- a/src/event_hdl.c +++ b/src/event_hdl.c @@ -568,8 +568,7 @@ struct event_hdl_sub *event_hdl_subscribe_ptr(event_hdl_sub_list *sub_list, cleanup: if (new_sub) { if (hdl.async == EVENT_HDL_ASYNC_MODE_NORMAL) { - if (new_sub->hdl.async_task) - tasklet_free(new_sub->hdl.async_task); + tasklet_free(new_sub->hdl.async_task); if (task_ctx) pool_free(pool_head_sub_taskctx, task_ctx); } diff --git a/src/listener.c b/src/listener.c index a68cb12917..6a0460f325 100644 --- a/src/listener.c +++ b/src/listener.c @@ -201,8 +201,7 @@ static void accept_queue_deinit() int i; for (i = 0; i < global.nbthread; i++) { - if (accept_queue_rings[i].tasklet) - tasklet_free(accept_queue_rings[i].tasklet); + tasklet_free(accept_queue_rings[i].tasklet); } } diff --git a/src/mux_fcgi.c b/src/mux_fcgi.c index 0fb4f869d9..5ccf2aed38 100644 --- a/src/mux_fcgi.c +++ b/src/mux_fcgi.c @@ -707,8 +707,7 @@ static int fcgi_init(struct connection *conn, struct proxy *px, struct session * fail: task_destroy(t); - if (fconn->wait_event.tasklet) - tasklet_free(fconn->wait_event.tasklet); + tasklet_free(fconn->wait_event.tasklet); pool_free(pool_head_fcgi_conn, fconn); fail_conn: conn->ctx = conn_ctx; // restore saved ctx @@ -766,8 +765,7 @@ static void fcgi_release(struct fcgi_conn *fconn) task_wakeup(fconn->task, TASK_WOKEN_OTHER); fconn->task = NULL; } - if (fconn->wait_event.tasklet) - tasklet_free(fconn->wait_event.tasklet); + tasklet_free(fconn->wait_event.tasklet); if (conn && fconn->wait_event.events != 0) conn->xprt->unsubscribe(conn, conn->xprt_ctx, fconn->wait_event.events, &fconn->wait_event); diff --git a/src/mux_h1.c b/src/mux_h1.c index 86dc754683..a3f7fc0959 100644 --- a/src/mux_h1.c +++ b/src/mux_h1.c @@ -995,8 +995,7 @@ static int h1_init(struct connection *conn, struct proxy *proxy, struct session fail: task_destroy(t); - if (h1c->wait_event.tasklet) - tasklet_free(h1c->wait_event.tasklet); + tasklet_free(h1c->wait_event.tasklet); pool_free(pool_head_h1c, h1c); fail_h1c: if (!conn_is_back(conn)) diff --git a/src/mux_h2.c b/src/mux_h2.c index c6667b339b..08e9e8a4c6 100644 --- a/src/mux_h2.c +++ b/src/mux_h2.c @@ -1077,8 +1077,7 @@ static int h2_init(struct connection *conn, struct proxy *prx, struct session *s hpack_dht_free(h2c->ddht); fail: task_destroy(t); - if (h2c->wait_event.tasklet) - tasklet_free(h2c->wait_event.tasklet); + tasklet_free(h2c->wait_event.tasklet); pool_free(pool_head_h2c, h2c); fail_no_h2c: if (!conn_is_back(conn)) @@ -1140,8 +1139,7 @@ static void h2_release(struct h2c *h2c) task_wakeup(h2c->task, TASK_WOKEN_OTHER); h2c->task = NULL; } - if (h2c->wait_event.tasklet) - tasklet_free(h2c->wait_event.tasklet); + tasklet_free(h2c->wait_event.tasklet); if (conn && h2c->wait_event.events != 0) conn->xprt->unsubscribe(conn, conn->xprt_ctx, h2c->wait_event.events, &h2c->wait_event); diff --git a/src/mux_pt.c b/src/mux_pt.c index 6f83ae4eec..1e9278a8a1 100644 --- a/src/mux_pt.c +++ b/src/mux_pt.c @@ -331,8 +331,7 @@ static int mux_pt_init(struct connection *conn, struct proxy *prx, struct sessio fail_free_sd: sedesc_free(ctx->sd); fail_free_ctx: - if (ctx->wait_event.tasklet) - tasklet_free(ctx->wait_event.tasklet); + tasklet_free(ctx->wait_event.tasklet); pool_free(pool_head_pt_ctx, ctx); fail: TRACE_DEVEL("leaving in error", PT_EV_CONN_NEW|PT_EV_CONN_END|PT_EV_CONN_ERR); diff --git a/src/mux_quic.c b/src/mux_quic.c index 00b83a176c..74e0fc8548 100644 --- a/src/mux_quic.c +++ b/src/mux_quic.c @@ -2170,8 +2170,7 @@ static void qc_release(struct qcc *qcc) qcc->task = NULL; } - if (qcc->wait_event.tasklet) - tasklet_free(qcc->wait_event.tasklet); + tasklet_free(qcc->wait_event.tasklet); if (conn && qcc->wait_event.events) { conn->xprt->unsubscribe(conn, conn->xprt_ctx, qcc->wait_event.events, diff --git a/src/quic_conn.c b/src/quic_conn.c index b474e7209c..a9ad11eaa6 100644 --- a/src/quic_conn.c +++ b/src/quic_conn.c @@ -5688,8 +5688,7 @@ void quic_conn_release(struct quic_conn *qc) qc->timer_task = NULL; } - if (qc->wait_event.tasklet) - tasklet_free(qc->wait_event.tasklet); + tasklet_free(qc->wait_event.tasklet); /* remove the connection from receiver cids trees */ free_quic_conn_cids(qc); @@ -8478,8 +8477,7 @@ int qc_set_tid_affinity(struct quic_conn *qc, uint new_tid, struct listener *new err: task_destroy(t1); task_destroy(t2); - if (t3) - tasklet_free(t3); + tasklet_free(t3); TRACE_DEVEL("leaving on error", QUIC_EV_CONN_SET_AFFINITY, qc); return 1; diff --git a/src/stconn.c b/src/stconn.c index 59d2179ace..8458331895 100644 --- a/src/stconn.c +++ b/src/stconn.c @@ -231,8 +231,7 @@ void sc_free(struct stconn *sc) BUG_ON(!sc_ep_test(sc, SE_FL_DETACHED)); sedesc_free(sc->sedesc); } - if (sc->wait_event.tasklet) - tasklet_free(sc->wait_event.tasklet); + tasklet_free(sc->wait_event.tasklet); pool_free(pool_head_connstream, sc); } @@ -417,8 +416,7 @@ static void sc_detach_app(struct stconn **scp) sockaddr_free(&sc->src); sockaddr_free(&sc->dst); - if (sc->wait_event.tasklet) - tasklet_free(sc->wait_event.tasklet); + tasklet_free(sc->wait_event.tasklet); sc->wait_event.tasklet = NULL; sc->wait_event.events = 0; sc_free_cond(scp);