summaryrefslogtreecommitdiff
path: root/ripd/rip_main.c
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas@opensourcerouting.org>2023-11-13 21:17:16 +0200
committerGitHub <noreply@github.com>2023-11-13 21:17:16 +0200
commit04a587f4809e9c82a5f01dfb8b61f3430b45c69b (patch)
tree972d078bc2cef1af065f02787dcb6b4400feef21 /ripd/rip_main.c
parentc62c0181f07241fa3beb0a3aec3c39401ed8e5c7 (diff)
parent3edeaa906660c60d2ecfc3f9f107f420bfacdf30 (diff)
Merge pull request #14781 from donaldsharp/frr_memory_leaks_cleanup
Frr memory leaks cleanup
Diffstat (limited to 'ripd/rip_main.c')
-rw-r--r--ripd/rip_main.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/ripd/rip_main.c b/ripd/rip_main.c
index ac358ebbaf..3f52bebe95 100644
--- a/ripd/rip_main.c
+++ b/ripd/rip_main.c
@@ -67,12 +67,24 @@ static void sighup(void)
/* SIGINT handler. */
static void sigint(void)
{
+ struct vrf *vrf;
+
zlog_notice("Terminating on signal");
bfd_protocol_integration_set_shutdown(true);
+
+ RB_FOREACH (vrf, vrf_name_head, &vrfs_by_name) {
+ if (!vrf->info)
+ continue;
+
+ rip_clean(vrf->info);
+ }
+
rip_vrf_terminate();
if_rmap_terminate();
rip_zclient_stop();
+
+ route_map_finish();
frr_fini();
exit(0);