diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 78f03a707d..d3a5774570 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -10708,6 +10708,7 @@ DEFUN (show_ip_bgp_regexp, if (argv_find(argv, argc, "REGEX", &idx)) regstr = argv[idx]->arg; + assert(regstr); return bgp_show_regexp(vty, bgp, (const char *)regstr, afi, safi, bgp_show_type_regexp, uj); } diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 1cd2f0a397..645c502020 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -9593,8 +9593,7 @@ static void bgp_show_neighbor_graceful_restart_capability_per_afi_safi( get_afi_safi_str(afi, safi, false)); vty_out(vty, " F bit : "); - } else - get_afi_safi_str(afi, safi, true); + } if (peer->nsf[afi][safi] && CHECK_FLAG(peer->af_cap[afi][safi], diff --git a/lib/agentx.c b/lib/agentx.c index 2c6a43d1a7..b479b5ea4c 100644 --- a/lib/agentx.c +++ b/lib/agentx.c @@ -55,28 +55,42 @@ static int agentx_timeout(struct thread *t) static int agentx_read(struct thread *t) { fd_set fds; - int flags; + int flags, new_flags = 0; int nonblock = false; struct listnode *ln = THREAD_ARG(t); list_delete_node(events, ln); /* fix for non blocking socket */ flags = fcntl(THREAD_FD(t), F_GETFL, 0); - if (-1 == flags) + if (-1 == flags) { + flog_err(EC_LIB_SYSTEM_CALL, "Failed to get FD settings fcntl: %s(%d)", + strerror(errno), errno); return -1; + } if (flags & O_NONBLOCK) nonblock = true; else - fcntl(THREAD_FD(t), F_SETFL, flags | O_NONBLOCK); + new_flags = fcntl(THREAD_FD(t), F_SETFL, flags | O_NONBLOCK); + + if (new_flags == -1) + flog_err(EC_LIB_SYSTEM_CALL, "Failed to set snmp fd non blocking: %s(%d)", + strerror(errno), errno); FD_ZERO(&fds); FD_SET(THREAD_FD(t), &fds); snmp_read(&fds); /* Reset the flag */ - if (!nonblock) - fcntl(THREAD_FD(t), F_SETFL, flags); + if (!nonblock) { + new_flags = fcntl(THREAD_FD(t), F_SETFL, flags); + + if (new_flags == -1) + flog_err( + EC_LIB_SYSTEM_CALL, + "Failed to set snmp fd back to original settings: %s(%d)", + strerror(errno), errno); + } netsnmp_check_outstanding_agent_requests(); agentx_events_update(); diff --git a/zebra/zebra_nhg.c b/zebra/zebra_nhg.c index 8026450d6e..ac58352a16 100644 --- a/zebra/zebra_nhg.c +++ b/zebra/zebra_nhg.c @@ -1489,7 +1489,7 @@ static int nexthop_active(afi_t afi, struct route_entry *re, * resolved by a route NH1. The exception is if the route is a * host route. */ - if (top && rn == top) + if (rn == top) if (((afi == AFI_IP) && (rn->p.prefixlen != 32)) || ((afi == AFI_IP6) && (rn->p.prefixlen != 128))) { if (IS_ZEBRA_DEBUG_RIB_DETAILED)