Make sure resolved addressed for outgoing connections are freed, if there are any.
[oweals/tinc.git] / src / net_setup.c
index ccd600b730c41816a49363f0e55464e74cd6f81d..f53127b5989085c5753018e8bb4eb9d7f020e503 100644 (file)
@@ -572,8 +572,14 @@ void close_network_connections(void)
                next = node->next;
                c = node->data;
 
-               if(c->outgoing)
-                       free(c->outgoing->name), free(c->outgoing), c->outgoing = NULL;
+               if(c->outgoing) {
+                       if(c->outgoing->ai)
+                               freeaddrinfo(c->outgoing->ai);
+                       free(c->outgoing->name);
+                       free(c->outgoing);
+                       c->outgoing = NULL;
+               }
+
                terminate_connection(c, false);
        }