From a2bce1c824d8526ca1ef2a8144f338f98348c628 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Tue, 20 Mar 2018 18:50:22 -0400 Subject: [PATCH] bgpd: Check for peer before dereferencing it Check for the peer structure passed in to be valid before we deref it. Signed-off-by: Donald Sharp --- bgpd/bgp_network.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bgpd/bgp_network.c b/bgpd/bgp_network.c index 71454dfe03..37d06c1e53 100644 --- a/bgpd/bgp_network.c +++ b/bgpd/bgp_network.c @@ -447,6 +447,9 @@ static char *bgp_get_bound_name(struct peer *peer) { char *name = NULL; + if (!peer) + return NULL; + if ((peer->bgp->vrf_id == VRF_DEFAULT) && !peer->ifname && !peer->conf_if) return NULL; @@ -455,8 +458,6 @@ static char *bgp_get_bound_name(struct peer *peer) && peer->su.sa.sa_family != AF_INET6) return NULL; // unexpected - if (!peer) - return name; /* For IPv6 peering, interface (unnumbered or link-local with interface) * takes precedence over VRF. For IPv4 peering, explicit interface or * VRF are the situations to bind. -- 2.39.5