summaryrefslogtreecommitdiff
path: root/eigrpd/eigrp_interface.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2025-03-24 08:07:02 -0400
committerDonald Sharp <sharpd@nvidia.com>2025-03-24 11:36:13 -0400
commitefb2aeae7b0d565f919bcd77345b78a9bd91e297 (patch)
tree2936d4d76bd210d0ac2de7dcc3c3c4397bf6f0bc /eigrpd/eigrp_interface.c
parent95e7f56eec5797a9e6d46d91441d611592b952cf (diff)
eigrpd: Cleanup memory issues on shutdown
a) EIGRP was having issues with the prefix created as part of the topology destination. Make this just a part of the topology data structure instead of allocating it. b) EIGRP was not freeing up any memory associated with the network table. Free it. c) EIGRP was confusing zebra shutdown as part of the deletion of the last eigrp data structure. This was inappropriate it should be part of the `I'm just shutting down`. d) The QOBJ was not being properly freed, free it. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'eigrpd/eigrp_interface.c')
-rw-r--r--eigrpd/eigrp_interface.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/eigrpd/eigrp_interface.c b/eigrpd/eigrp_interface.c
index 2e3beacae7..73caa72b6d 100644
--- a/eigrpd/eigrp_interface.c
+++ b/eigrpd/eigrp_interface.c
@@ -294,8 +294,7 @@ int eigrp_if_up(struct eigrp_interface *ei)
if (pe == NULL) {
pe = eigrp_prefix_descriptor_new();
pe->serno = eigrp->serno;
- pe->destination = (struct prefix *)prefix_ipv4_new();
- prefix_copy(pe->destination, &dest_addr);
+ prefix_copy(&pe->destination, &dest_addr);
pe->af = AF_INET;
pe->nt = EIGRP_TOPOLOGY_TYPE_CONNECTED;