]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink.c
Fix several memory leaks.
[meshlink] / src / meshlink.c
index 4280c4f13797c27919f1790ac5be59ce442a12d8..5d5733e7bf432e26d7d1923c510c39edd6a41a9b 100644 (file)
@@ -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;
                }