]> git.puffer.fish Git - mirror/frr.git/commitdiff
bgpd: Add a sanitify check for bgp_nexthop_cache against NULL
authorDonatas Abraitis <donatas.abraitis@gmail.com>
Thu, 16 Apr 2020 13:13:01 +0000 (16:13 +0300)
committerDonatas Abraitis <donatas.abraitis@gmail.com>
Thu, 23 Apr 2020 19:15:15 +0000 (22:15 +0300)
In real world sometimes happens that bgp_nexthop_cache is NULL. Avoid
segfaulting when using `show [ip] bgp ...` CLI commands.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
bgpd/bgp_route.c

index 7aad1e4ecda8ea5ab91b2b2736cbf7f20cd058bc..69d12aaaea0fbddd000fa49f267cba999f890057 100644 (file)
@@ -7159,7 +7159,7 @@ static char *bgp_nexthop_hostname(struct peer *peer,
                                  struct bgp_nexthop_cache *bnc)
 {
        if (peer->hostname
-           && CHECK_FLAG(peer->bgp->flags, BGP_FLAG_SHOW_HOSTNAME)
+           && CHECK_FLAG(peer->bgp->flags, BGP_FLAG_SHOW_HOSTNAME) && bnc
            && CHECK_FLAG(bnc->flags, BGP_NEXTHOP_CONNECTED))
                return peer->hostname;
        return NULL;