X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-network.c;h=6e9915b75dabb2834ffbed4b14dd97fa4b4656f4;hp=6437ff4230f502a8a4d410971a764bdb5add4068;hb=06f021a8048583d66202e3ac5cd0a12386d33ac2;hpb=0ea51a1129b9984a3c6d96cef1b0e33c99b5e9cf diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index 6437ff423..6e9915b75 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -69,6 +69,10 @@ static int network_load_one(Manager *manager, const char *filename) { if (!network->routes_by_section) return log_oom(); + network->dns = set_new(NULL, NULL); + if (!network->dns) + return log_oom(); + network->filename = strdup(filename); if (!network->filename) return log_oom(); @@ -136,6 +140,7 @@ int network_load(Manager *manager) { void network_free(Network *network) { Route *route; Address *address; + Iterator i; if (!network) return; @@ -150,7 +155,10 @@ void network_free(Network *network) { free(network->description); - address_free(network->dns); + SET_FOREACH(address, network->dns, i) + address_free(address); + + set_free(network->dns); hashmap_free(network->vlans);