]> git.puffer.fish Git - matthieu/frr.git/commitdiff
isisd: free-up circuit ip entries when addresses are deleted
authorChristian Franke <chris@opensourcerouting.org>
Mon, 30 Oct 2017 03:15:52 +0000 (04:15 +0100)
committerChristian Franke <chris@opensourcerouting.org>
Mon, 30 Oct 2017 03:16:31 +0000 (04:16 +0100)
isisd/isis_circuit.c

index 681ba1d7192ec8a606045705fa8bd891322248ab..9fd9b2b8ec29c06e577705343580ef8e26d09b0c 100644 (file)
@@ -292,6 +292,7 @@ void isis_circuit_del_addr(struct isis_circuit *circuit,
 
                if (ip) {
                        listnode_delete(circuit->ip_addrs, ip);
+                       prefix_ipv4_free(ip);
                        if (circuit->area)
                                lsp_regenerate_schedule(circuit->area,
                                                        circuit->is_type, 0);
@@ -327,6 +328,7 @@ void isis_circuit_del_addr(struct isis_circuit *circuit,
                        }
                        if (ip6) {
                                listnode_delete(circuit->ipv6_link, ip6);
+                               prefix_ipv6_free(ip6);
                                found = 1;
                        }
                } else {
@@ -338,6 +340,7 @@ void isis_circuit_del_addr(struct isis_circuit *circuit,
                        }
                        if (ip6) {
                                listnode_delete(circuit->ipv6_non_link, ip6);
+                               prefix_ipv6_free(ip6);
                                found = 1;
                        }
                }