summaryrefslogtreecommitdiff
path: root/ecp/server/dir.c
diff options
context:
space:
mode:
Diffstat (limited to 'ecp/server/dir.c')
-rw-r--r--ecp/server/dir.c6
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;
}