X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fmeshlink.c;h=fe11af2cc44966a309afea3e224ca9935d2b2229;hb=325d837df2ec867c668b6a911b97e719f196ba0e;hp=4280c4f13797c27919f1790ac5be59ce442a12d8;hpb=39f2e20489cbc3e924547b684340bf722a0df028;p=meshlink diff --git a/src/meshlink.c b/src/meshlink.c index 4280c4f1..fe11af2c 100644 --- a/src/meshlink.c +++ b/src/meshlink.c @@ -3399,6 +3399,7 @@ bool meshlink_import(meshlink_handle_t *mesh, const char *data) { if(!buflen) { logger(mesh, MESHLINK_DEBUG, "Invalid data\n"); + free(buf); meshlink_errno = MESHLINK_EPEER; return false; } @@ -3408,6 +3409,7 @@ bool meshlink_import(meshlink_handle_t *mesh, const char *data) { if(!count) { logger(mesh, MESHLINK_DEBUG, "Invalid data\n"); + free(buf); meshlink_errno = MESHLINK_EPEER; return false; } @@ -3464,6 +3466,7 @@ bool meshlink_import(meshlink_handle_t *mesh, const char *data) { if(!node_write_config(mesh, n, true)) { free_node(n); + free(buf); return false; } @@ -3514,7 +3517,7 @@ static bool blacklist(meshlink_handle_t *mesh, node_t *n) { } } - utcp_abort_all_connections(n->utcp); + utcp_reset_all_connections(n->utcp); n->mtu = 0; n->minmtu = 0;