summaryrefslogtreecommitdiff
path: root/bgpd/bgp_bfd.c
diff options
context:
space:
mode:
authorRafael Zalamena <rzalamena@opensourcerouting.org>2021-07-13 22:46:40 -0300
committerRafael Zalamena <rzalamena@opensourcerouting.org>2021-07-14 14:42:48 -0300
commit373de4b5b05837bc5768084fae824d9d68ce3a7c (patch)
treeb88cd5adb0ea2385477feb61286a508a17fb340a /bgpd/bgp_bfd.c
parenta95ba7a7c8820b3f16b191f34738d2ed2e43823f (diff)
bgpd: fix crash during configuration removal
Test the BFD config pointer before trying to free the session as it might not exist. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Diffstat (limited to 'bgpd/bgp_bfd.c')
-rw-r--r--bgpd/bgp_bfd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/bgpd/bgp_bfd.c b/bgpd/bgp_bfd.c
index f6f2f5f6e4..4995f9a1fd 100644
--- a/bgpd/bgp_bfd.c
+++ b/bgpd/bgp_bfd.c
@@ -326,7 +326,9 @@ static void bgp_peer_remove_bfd(struct peer *p)
return;
}
- bfd_sess_free(&p->bfd_config->session);
+ if (p->bfd_config)
+ bfd_sess_free(&p->bfd_config->session);
+
XFREE(MTYPE_BFD_CONFIG, p->bfd_config);
}