diff options
author | Uros Majstorovic <majstor@majstor.org> | 2024-05-24 23:02:22 +0200 |
---|---|---|
committer | Uros Majstorovic <majstor@majstor.org> | 2024-05-24 23:02:22 +0200 |
commit | 4c2c25f80b3cc173f09f6113e0ee623866948b87 (patch) | |
tree | ba17564be57a610170a3f976211be5046cf3edee /ecp/server/dir.c | |
parent | b0d40894428d7edc578156812d61bdcdd10165b7 (diff) |
deallocate connection on conn open failure
Diffstat (limited to 'ecp/server/dir.c')
-rw-r--r-- | ecp/server/dir.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ecp/server/dir.c b/ecp/server/dir.c index c045599..b941050 100644 --- a/ecp/server/dir.c +++ b/ecp/server/dir.c @@ -497,7 +497,10 @@ int dir_open_conn(DIRNode *node, ECPSocket *sock) { ecp_conn_set_flags(node->conn, ECP_CONN_FLAG_VBOX); rv = ecp_conn_open(node->conn, &node->dir_item.node); - if (rv) node->conn = NULL; + if (rv) { + free(node->conn); + node->conn = NULL; + } return rv; } @@ -932,6 +935,7 @@ int dir_init_ann(ECPSocket *sock, ECPNode *node) { ecp_conn_set_flags(conn, ECP_CONN_FLAG_VBOX); rv = ecp_conn_open(conn, node); if (rv) { + free(conn); LOG(LOG_ERR, "dir_init_ann: conn open err:%d\n", rv); return rv; } |