Merge pull request #2620 from pacovn/PVS-Studio_null_check_2

bgpd lib ospfd pimd ripngd: null chk (PVS-Studio)
This commit is contained in:
Quentin Young 2018-07-03 17:38:09 -04:00 committed by GitHub
commit 4adc8f6852
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 42 additions and 30 deletions

View File

@ -274,7 +274,7 @@ void route_vty_out_flowspec(struct vty *vty, struct prefix *p,
else
json_nlri_path = json_paths;
}
if (display == NLRI_STRING_FORMAT_LARGE)
if (display == NLRI_STRING_FORMAT_LARGE && binfo)
vty_out(vty, "BGP flowspec entry: (flags 0x%x)\n",
binfo->flags);
bgp_fs_nlri_get_string((unsigned char *)

View File

@ -2168,7 +2168,6 @@ struct bgp_process_queue {
static void bgp_process_main_one(struct bgp *bgp, struct bgp_node *rn,
afi_t afi, safi_t safi)
{
struct prefix *p = &rn->p;
struct bgp_info *new_select;
struct bgp_info *old_select;
struct bgp_info_pair old_and_new;
@ -2191,6 +2190,8 @@ static void bgp_process_main_one(struct bgp *bgp, struct bgp_node *rn,
return;
}
struct prefix *p = &rn->p;
debug = bgp_debug_bestpath(&rn->p);
if (debug) {
prefix2str(&rn->p, pfx_buf, sizeof(pfx_buf));

View File

@ -1026,9 +1026,11 @@ static inline bgp_peer_sort_t peer_calc_sort(struct peer *peer)
else if (peer->as_type == AS_EXTERNAL)
return BGP_PEER_EBGP;
else if (peer->as_type == AS_SPECIFIED && peer->as)
else if (peer->as_type == AS_SPECIFIED && peer->as) {
assert(bgp);
return (bgp->as == peer->as ? BGP_PEER_IBGP
: BGP_PEER_EBGP);
}
else {
struct peer *peer1;

View File

@ -2336,7 +2336,7 @@ int rfapi_reopen(struct rfapi_descriptor *rfd, struct bgp *bgp)
h = bgp->rfapi;
assert(!CHECK_FLAG(h->flags, RFAPI_INCALLBACK));
assert(h != NULL && !CHECK_FLAG(h->flags, RFAPI_INCALLBACK));
if (CHECK_FLAG(rfd->flags,
RFAPI_HD_FLAG_CLOSING_ADMINISTRATIVELY)

View File

@ -2904,6 +2904,8 @@ void vnc_import_bgp_redist_disable(struct bgp *bgp, afi_t afi)
struct rfapi_descriptor *rfd;
vncHDBgpDirect.peer = bi->peer;
assert(bi->extra);
rfd = bi->extra->vnc.export
.rfapi_handle;

View File

@ -479,6 +479,8 @@ static int vty_command(struct vty *vty, char *buf)
const char *protocolname;
char *cp = NULL;
assert(vty);
/*
* Log non empty command lines
*/
@ -496,13 +498,13 @@ static int vty_command(struct vty *vty, char *buf)
/* format the base vty info */
snprintf(vty_str, sizeof(vty_str), "vty[??]@%s", vty->address);
if (vty)
for (i = 0; i < vector_active(vtyvec); i++)
if (vty == vector_slot(vtyvec, i)) {
snprintf(vty_str, sizeof(vty_str),
"vty[%d]@%s", i, vty->address);
break;
}
for (i = 0; i < vector_active(vtyvec); i++)
if (vty == vector_slot(vtyvec, i)) {
snprintf(vty_str, sizeof(vty_str), "vty[%d]@%s",
i, vty->address);
break;
}
/* format the prompt */
snprintf(prompt_str, sizeof(prompt_str), cmd_prompt(vty->node),

View File

@ -245,10 +245,11 @@ int work_queue_run(struct thread *thread)
char yielded = 0;
wq = THREAD_ARG(thread);
wq->thread = NULL;
assert(wq);
wq->thread = NULL;
/* calculate cycle granularity:
* list iteration == 1 run
* listnode processing == 1 cycle

View File

@ -1889,7 +1889,7 @@ struct ospf_lsa *ospf_translated_nssa_refresh(struct ospf *ospf,
zlog_debug(
"ospf_translated_nssa_refresh(): no Type-7 found for "
"Type-5 LSA Id %s",
inet_ntoa(type5->data->id));
type5 ? inet_ntoa(type5->data->id) : "(null)");
return NULL;
}
@ -1899,7 +1899,7 @@ struct ospf_lsa *ospf_translated_nssa_refresh(struct ospf *ospf,
zlog_debug(
"ospf_translated_nssa_refresh(): No translated Type-5 "
"found for Type-7 with Id %s",
inet_ntoa(type7->data->id));
type7 ? inet_ntoa(type7->data->id) : "(null)");
return NULL;
}
@ -1912,7 +1912,7 @@ struct ospf_lsa *ospf_translated_nssa_refresh(struct ospf *ospf,
zlog_debug(
"ospf_translated_nssa_refresh(): Could not translate "
"Type-7 for %s to Type-5",
inet_ntoa(type7->data->id));
type7 ? inet_ntoa(type7->data->id) : "(null)");
return NULL;
}
@ -1921,7 +1921,7 @@ struct ospf_lsa *ospf_translated_nssa_refresh(struct ospf *ospf,
zlog_debug(
"ospf_translated_nssa_refresh(): Could not install "
"translated LSA, Id %s",
inet_ntoa(type7->data->id));
type7 ? inet_ntoa(type7->data->id) : "(null)");
return NULL;
}

View File

@ -4809,16 +4809,19 @@ static void show_ip_ospf_nbr_nbma_detail_sub(struct vty *vty,
vty_out(vty, " Poll interval %d\n", nbr_nbma->v_poll);
/* Show poll-interval timer. */
if (use_json) {
long time_store;
time_store = monotime_until(&nbr_nbma->t_poll->u.sands, NULL)
/ 1000LL;
json_object_int_add(json_sub, "pollIntervalTimerDueMsec",
time_store);
} else
vty_out(vty, " Poll timer due in %s\n",
ospf_timer_dump(nbr_nbma->t_poll, timebuf,
sizeof(timebuf)));
if (nbr_nbma->t_poll) {
if (use_json) {
long time_store;
time_store = monotime_until(&nbr_nbma->t_poll->u.sands,
NULL) / 1000LL;
json_object_int_add(json_sub,
"pollIntervalTimerDueMsec",
time_store);
} else
vty_out(vty, " Poll timer due in %s\n",
ospf_timer_dump(nbr_nbma->t_poll, timebuf,
sizeof(timebuf)));
}
/* Show poll-interval timer thread. */
if (use_json) {

View File

@ -152,7 +152,7 @@ static int pim_mroute_msg_nocache(int fd, struct interface *ifp,
struct pim_rpf *rpg;
struct prefix_sg sg;
rpg = RP(pim_ifp->pim, msg->im_dst);
rpg = pim_ifp ? RP(pim_ifp->pim, msg->im_dst) : NULL;
/*
* If the incoming interface is unknown OR
* the Interface type is SSM we don't need to
@ -278,7 +278,7 @@ static int pim_mroute_msg_wholepkt(int fd, struct interface *ifp,
pim_ifp = up->rpf.source_nexthop.interface->info;
rpg = RP(pim_ifp->pim, sg.grp);
rpg = pim_ifp ? RP(pim_ifp->pim, sg.grp) : NULL;
if ((pim_rpf_addr_is_inaddr_none(rpg)) || (!pim_ifp)
|| (!(PIM_I_am_DR(pim_ifp)))) {

View File

@ -1516,9 +1516,10 @@ int ripng_write_rte(int num, struct stream *s, struct prefix_ipv6 *p,
}
/* Write routing table entry. */
if (!nexthop)
if (!nexthop) {
assert(p);
stream_write(s, (uint8_t *)&p->prefix, sizeof(struct in6_addr));
else
} else
stream_write(s, (uint8_t *)nexthop, sizeof(struct in6_addr));
stream_putw(s, tag);
if (p)