mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-02-06 18:01:05 +01:00
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
This commit is contained in:
parent
3a8c63d48d
commit
b1ec21d259
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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))
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user