From: F. Aragon Date: Fri, 29 Jun 2018 15:14:23 +0000 (+0200) Subject: bgpd isisd: null check (Clang scan) X-Git-Tag: frr-6.1-dev~215^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=1230a82d5b3165a200ee8b6742149e06f84aad58;p=matthieu%2Ffrr.git bgpd isisd: null check (Clang scan) This correction fixes three bugs detected by Clang scan: Bug Group: Logic error Bug Type: Dereference of null pointer File: bgpd/bgp_evpn.c Function: bgp_evpn_unconfigure_import_rt_for_vrf Line: 4246 File: isisd/isis_spf.c Function: isis_print_paths Line: 69 (two bugs of same type in one line) Signed-off-by: F. Aragon --- diff --git a/bgpd/bgp_evpn.c b/bgpd/bgp_evpn.c index 0557bbcce9..480c7bc63a 100644 --- a/bgpd/bgp_evpn.c +++ b/bgpd/bgp_evpn.c @@ -4243,7 +4243,7 @@ void bgp_evpn_unconfigure_import_rt_for_vrf(struct bgp *bgp_vrf, list_delete_node(bgp_vrf->vrf_import_rtl, node_to_del); /* fallback to auto import rt, if this was the last RT */ - if (list_isempty(bgp_vrf->vrf_import_rtl)) { + if (bgp_vrf->vrf_import_rtl && list_isempty(bgp_vrf->vrf_import_rtl)) { UNSET_FLAG(bgp_vrf->vrf_flags, BGP_VRF_IMPORT_RT_CFGD); evpn_auto_rt_import_add_for_vrf(bgp_vrf); } diff --git a/isisd/isis_spf.c b/isisd/isis_spf.c index 2e2933db33..556f2890cf 100644 --- a/isisd/isis_spf.c +++ b/isisd/isis_spf.c @@ -1473,8 +1473,9 @@ static void isis_print_paths(struct vty *vty, struct isis_vertex_queue *queue, vty_out(vty, "%-20s %-12s %-6u ", vid2string(vertex, buff, sizeof(buff)), vtype2string(vertex->type), vertex->d_N); - for (unsigned int i = 0; i < MAX(listcount(vertex->Adj_N), - listcount(vertex->parents)); + for (unsigned int i = 0; + i < MAX(vertex->Adj_N ? listcount(vertex->Adj_N) : 0, + vertex->parents ? listcount(vertex->parents) : 0); i++) { if (anode) { adj = listgetdata(anode);