From: anlan_cs Date: Fri, 18 Nov 2022 13:48:16 +0000 (+0800) Subject: bgpd: fix null pointer dereference X-Git-Tag: base_8.5~175^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=f3a88e7272cd5b89e3d85b674db658f3a9ee87e1;p=mirror%2Ffrr.git bgpd: fix null pointer dereference It is possible there is no ip address in type2 prefix, that leads to crash in `build_evpn_type2_prefix()`. Signed-off-by: anlan_cs --- diff --git a/bgpd/bgp_evpn_vty.c b/bgpd/bgp_evpn_vty.c index 88c1329f48..6350093b27 100644 --- a/bgpd/bgp_evpn_vty.c +++ b/bgpd/bgp_evpn_vty.c @@ -2537,6 +2537,7 @@ static void evpn_show_route_vni_macip(struct vty *vty, struct bgp *bgp, safi_t safi; json_object *json_paths = NULL; struct ethaddr empty_mac = {}; + struct ipaddr empty_ip = {}; const struct prefix_evpn *evp; afi = AFI_L2VPN; @@ -2550,7 +2551,8 @@ static void evpn_show_route_vni_macip(struct vty *vty, struct bgp *bgp, return; } - build_evpn_type2_prefix(&p, mac ? mac : &empty_mac, ip); + build_evpn_type2_prefix(&p, mac ? mac : &empty_mac, + ip ? ip : &empty_ip); /* See if route exists. Look for both non-sticky and sticky. */ dest = bgp_evpn_vni_node_lookup(vpn, &p, NULL);