]> git.meshlink.io Git - meshlink/blobdiff - src/node.c
Apply patch from Max Rijevski fixing a memory leak when closing connections.
[meshlink] / src / node.c
index 5cf5d967aa0faec6aeba736d37af21059f6d2761..5dad0aaf379851c2518c586cb8fe43e63036ddbb 100644 (file)
@@ -93,12 +93,6 @@ void free_node(node_t *n)
        if(n->queue)
                list_delete_list(n->queue);
 
-       if(n->name)
-               free(n->name);
-
-       if(n->hostname)
-               free(n->hostname);
-
        if(n->key)
                free(n->key);
 
@@ -112,9 +106,17 @@ void free_node(node_t *n)
 
        EVP_CIPHER_CTX_cleanup(&n->packet_ctx);
 
-       if(n->mtuevent)
+       if(n->mtuevent) {
                event_del(n->mtuevent);
+               free_event(n->mtuevent);
+       }
        
+       if(n->hostname)
+               free(n->hostname);
+
+       if(n->name)
+               free(n->name);
+
        free(n);
 }