From 0ba4f18ea6981b4d2b4eded11b2da4b2a2192d5b Mon Sep 17 00:00:00 2001 From: David Härdeman Date: Sun, 21 Jun 2020 21:39:15 +0200 Subject: Finish up the assert conversion --- proxy.c | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'proxy.c') diff --git a/proxy.c b/proxy.c index a629d7c..05117fd 100644 --- a/proxy.c +++ b/proxy.c @@ -10,6 +10,8 @@ void proxy_refdump(struct server_proxy *proxy) { + assert_return(proxy); + uring_task_refdump(&proxy->task); uring_task_refdump(&proxy->clienttask); uring_task_refdump(&proxy->servertask); @@ -21,6 +23,8 @@ format_bytes(char *buf, size_t len, uint64_t val) uint64_t tmp; const char *suffix = "B"; + assert_return(buf && len > 0); + tmp = val * 10; if (val > 1152921504606846976ULL) { tmp = val / 115292150460684697ULL; @@ -50,6 +54,8 @@ format_time(char *buf, size_t len, time_t diff) { unsigned hh, mm, ss; + assert_return(buf && len > 0); + hh = diff / 3600; diff %= 3600; mm = diff / 60; @@ -67,6 +73,8 @@ proxy_free(struct uring_task *task) char stc[100]; char duration[100]; + assert_return(task); + debug(DBG_PROXY, "server: %s, src: %s, dst: %s", proxy->server->name, proxy->client_conn.remote.addrstr, @@ -94,6 +102,8 @@ proxy_client_free(struct uring_task *task) { struct server_proxy *proxy = container_of(task, struct server_proxy, clienttask); + assert_return(task); + debug(DBG_PROXY, "%s: client connection closed", proxy->server->name); } @@ -102,6 +112,8 @@ proxy_server_free(struct uring_task *task) { struct server_proxy *proxy = container_of(task, struct server_proxy, servertask); + assert_return(task); + debug(DBG_PROXY, "%s: server connection closed", proxy->server->name); } @@ -110,6 +122,8 @@ proxy_delete(struct cfg *cfg, struct server_proxy *proxy) { debug(DBG_PROXY, "%s: shutting down proxy %p", proxy->server->name, proxy); + assert_return(cfg && proxy); + uring_task_destroy(cfg, &proxy->servertask); uring_task_destroy(cfg, &proxy->clienttask); uring_task_destroy(cfg, &proxy->task); @@ -122,6 +136,7 @@ proxy_client_data_out(struct cfg *cfg, struct uring_task *task, int res) { struct server_proxy *proxy = container_of(task, struct server_proxy, clienttask); + assert_return(cfg && task); assert_task_alive(DBG_PROXY, task); if (res <= 0) { @@ -141,6 +156,7 @@ proxy_client_data_in(struct cfg *cfg, struct uring_task *task, int res) { struct server_proxy *proxy = container_of(task, struct server_proxy, clienttask); + assert_return(cfg && task); assert_task_alive(DBG_PROXY, task); if (res <= 0) { @@ -162,6 +178,7 @@ proxy_server_data_out(struct cfg *cfg, struct uring_task *task, int res) { struct server_proxy *proxy = container_of(task, struct server_proxy, servertask); + assert_return(cfg && task); assert_task_alive(DBG_PROXY, task); if (res <= 0) { @@ -181,6 +198,7 @@ proxy_server_data_in(struct cfg *cfg, struct uring_task *task, int res) { struct server_proxy *proxy = container_of(task, struct server_proxy, servertask); + assert_return(cfg && task); assert_task_alive(DBG_PROXY, task); if (res <= 0) { @@ -199,6 +217,7 @@ proxy_connected_cb(struct cfg *cfg, struct connection *conn, bool connected) { struct server_proxy *proxy = container_of(conn, struct server_proxy, server_conn); + assert_return(cfg && conn); assert_task_alive(DBG_PROXY, &proxy->clienttask); assert_task_alive(DBG_PROXY, &proxy->servertask); @@ -225,6 +244,8 @@ proxy_new(struct cfg *cfg, struct server *server, struct saddr *client, int fd) { struct server_proxy *proxy; + assert_return(cfg && server && client && fd > 0, NULL); + proxy = zmalloc(sizeof(*proxy)); if (!proxy) { error("malloc: %m"); @@ -234,17 +255,17 @@ proxy_new(struct cfg *cfg, struct server *server, struct saddr *client, int fd) proxy->sfd = -1; proxy->cfd = fd; proxy->server = server; - uring_task_init(&proxy->task, "proxy", &server->task, proxy_free); + uring_task_init(cfg, &proxy->task, "proxy", &server->task, proxy_free); connection_set_local(cfg, &proxy->client_conn, fd); connection_set_remote(cfg, &proxy->client_conn, client); - uring_task_init(&proxy->clienttask, "proxy_client", &proxy->task, + uring_task_init(cfg, &proxy->clienttask, "proxy_client", &proxy->task, proxy_client_free); uring_task_set_buf(&proxy->clienttask, &proxy->clientbuf); uring_task_set_fd(&proxy->clienttask, fd); - uring_task_init(&proxy->servertask, "proxy_server", &proxy->task, + uring_task_init(cfg, &proxy->servertask, "proxy_server", &proxy->task, proxy_server_free); uring_task_set_buf(&proxy->servertask, &proxy->serverbuf); -- cgit v1.2.3