From acb71754e12f98ebd01963869a297ea262494740 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 5 Nov 2019 09:36:39 +0900 Subject: network: use fix invalid free function Fixes #13938. --- src/network/networkd-network.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/network/networkd-network.c') diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index 90d86f35a9..5e82b3c5e0 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -306,7 +306,7 @@ int network_verify(Network *network) { LIST_FOREACH_SAFE(prefixes, prefix, prefix_next, network->static_route_prefixes) if (section_is_invalid(prefix->section)) - prefix_free(prefix); + route_prefix_free(prefix); LIST_FOREACH_SAFE(rules, rule, rule_next, network->rules) if (routing_policy_rule_section_verify(rule) < 0) -- cgit v1.2.1 From 9be6ae775fb303deb49ee8e4c5013ce98dc48b93 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 5 Nov 2019 09:39:44 +0900 Subject: network: fix memleak --- src/network/networkd-network.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/network/networkd-network.c') diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c index 5e82b3c5e0..f6d02fb274 100644 --- a/src/network/networkd-network.c +++ b/src/network/networkd-network.c @@ -654,6 +654,9 @@ static Network *network_free(Network *network) { while ((prefix = network->static_prefixes)) prefix_free(prefix); + while ((prefix = network->static_route_prefixes)) + route_prefix_free(prefix); + while ((rule = network->rules)) routing_policy_rule_free(rule); @@ -664,6 +667,7 @@ static Network *network_free(Network *network) { hashmap_free(network->neighbors_by_section); hashmap_free(network->address_labels_by_section); hashmap_free(network->prefixes_by_section); + hashmap_free(network->route_prefixes_by_section); hashmap_free(network->rules_by_section); ordered_hashmap_free_with_destructor(network->qdiscs_by_section, qdisc_free); -- cgit v1.2.1