From c2afd32f36d1529d2e3f42b7fbf46e2efadb387b Mon Sep 17 00:00:00 2001 From: Rafael Zalamena Date: Fri, 29 May 2020 17:46:29 -0300 Subject: [PATCH] isisd: check interface pointer before accessing On some cases (protocol convergence down or daemon exit) we'll have the interface pointer in the circuit as `NULL`, so don't attempt to access it. Signed-off-by: Rafael Zalamena --- isisd/isis_bfd.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/isisd/isis_bfd.c b/isisd/isis_bfd.c index 0f0d20e393..a9a1ec7c47 100644 --- a/isisd/isis_bfd.c +++ b/isisd/isis_bfd.c @@ -263,9 +263,10 @@ static void bfd_handle_adj_down(struct isis_adjacency *adj) ZEBRA_BFD_DEST_DEREGISTER); bfd_peer_sendmsg(zclient, NULL, adj->bfd_session->family, - &adj->bfd_session->dst_ip, - &adj->bfd_session->src_ip, - adj->circuit->interface->name, + &adj->bfd_session->dst_ip, &adj->bfd_session->src_ip, + (adj->circuit->interface) + ? adj->circuit->interface->name + : NULL, 0, /* ttl */ 0, /* multihop */ 1, /* control plane independent bit is on */ @@ -324,7 +325,9 @@ static void bfd_handle_adj_up(struct isis_adjacency *adj, int command) bfd_peer_sendmsg(zclient, circuit->bfd_info, adj->bfd_session->family, &adj->bfd_session->dst_ip, &adj->bfd_session->src_ip, - circuit->interface->name, + (adj->circuit->interface) + ? adj->circuit->interface->name + : NULL, 0, /* ttl */ 0, /* multihop */ 1, /* control plane independent bit is on */