Hi, Please find the latest report on new defect(s) introduced to freerangerouting/frr found with Coverity Scan. 6 new defect(s) introduced to freerangerouting/frr found with Coverity Scan. New defect(s) Reported-by: Coverity Scan Showing 6 of 6 defect(s) ** CID 1455339: Null pointer dereferences (NULL_RETURNS) /eigrpd/eigrp_fsm.c: 416 in eigrp_fsm_event_keep_state() ________________________________________________________________________________________________________ *** CID 1455339: Null pointer dereferences (NULL_RETURNS) /eigrpd/eigrp_fsm.c: 416 in eigrp_fsm_event_keep_state() 410 prefix->distance = ne->distance; 411 prefix->reported_metric = 412 ne->total_metric; 413 if (msg->packet_type == EIGRP_OPC_QUERY) 414 eigrp_send_reply(msg->adv_router, prefix); 415 prefix->req_action |= EIGRP_FSM_NEED_UPDATE;
CID 1455339: Null pointer dereferences (NULL_RETURNS) Dereferencing a null pointer "eigrp_lookup()".
416 listnode_add( 417 (eigrp_lookup())->topology_changes_internalIPV4, 418 prefix); 419 } 420 eigrp_topology_update_node_flags(prefix); 421 eigrp_update_routing_table(prefix);
** CID 1455338: (NULL_RETURNS) /eigrpd/eigrp_filter.c: 85 in eigrp_distribute_update() /eigrpd/eigrp_filter.c: 87 in eigrp_distribute_update() /eigrpd/eigrp_filter.c: 89 in eigrp_distribute_update() /eigrpd/eigrp_filter.c: 184 in eigrp_distribute_update() ________________________________________________________________________________________________________ *** CID 1455338: (NULL_RETURNS) /eigrpd/eigrp_filter.c: 85 in eigrp_distribute_update() 79 if (!dist->ifname) { 80 /* access list IN for whole process */ 81 if (dist->list[DISTRIBUTE_V4_IN]) { 82 alist = access_list_lookup( 83 AFI_IP, dist->list[DISTRIBUTE_V4_IN]); 84 if (alist)
CID 1455338: (NULL_RETURNS) Dereferencing a null pointer "e".
85 e->list[EIGRP_FILTER_IN] = alist; 86 else 87 e->list[EIGRP_FILTER_IN] = NULL; 88 } else { 89 e->list[EIGRP_FILTER_IN] = NULL; 90 } /eigrpd/eigrp_filter.c: 87 in eigrp_distribute_update() 81 if (dist->list[DISTRIBUTE_V4_IN]) { 82 alist = access_list_lookup( 83 AFI_IP, dist->list[DISTRIBUTE_V4_IN]); 84 if (alist) 85 e->list[EIGRP_FILTER_IN] = alist; 86 else
CID 1455338: (NULL_RETURNS) Dereferencing a null pointer "e".
87 e->list[EIGRP_FILTER_IN] = NULL; 88 } else { 89 e->list[EIGRP_FILTER_IN] = NULL; 90 } 91 92 /* access list OUT for whole process */ /eigrpd/eigrp_filter.c: 89 in eigrp_distribute_update() 83 AFI_IP, dist->list[DISTRIBUTE_V4_IN]); 84 if (alist) 85 e->list[EIGRP_FILTER_IN] = alist; 86 else 87 e->list[EIGRP_FILTER_IN] = NULL; 88 } else {
CID 1455338: (NULL_RETURNS) Dereferencing a null pointer "e".
89 e->list[EIGRP_FILTER_IN] = NULL; 90 } 91 92 /* access list OUT for whole process */ 93 if (dist->list[DISTRIBUTE_V4_OUT]) { 94 alist = access_list_lookup( /eigrpd/eigrp_filter.c: 184 in eigrp_distribute_update() 178 179 /*struct eigrp_if_info * info = ifp->info; 180 ei = info->eigrp_interface;*/ 181 struct listnode *node, *nnode; 182 struct eigrp_interface *ei2; 183 /* Find proper interface */
CID 1455338: (NULL_RETURNS) Dereferencing a null pointer "e".
184 for (ALL_LIST_ELEMENTS(e->eiflist, node, nnode, ei2)) { 185 if (strcmp(ei2->ifp->name, ifp->name) == 0) { 186 ei = ei2; 187 break; 188 } 189 }
** CID 1455337: Null pointer dereferences (NULL_RETURNS) /eigrpd/eigrp_interface.c: 444 in eigrp_if_free() ________________________________________________________________________________________________________ *** CID 1455337: Null pointer dereferences (NULL_RETURNS) /eigrpd/eigrp_interface.c: 444 in eigrp_if_free() 438 THREAD_OFF(ei->t_hello); 439 eigrp_hello_send(ei, EIGRP_HELLO_GRACEFUL_SHUTDOWN, NULL); 440 } 441 442 dest_addr = *ei->connected->address; 443 apply_mask(&dest_addr);
CID 1455337: Null pointer dereferences (NULL_RETURNS) Dereferencing a null pointer "eigrp".
444 pe = eigrp_topology_table_lookup_ipv4(eigrp->topology_table, 445 &dest_addr); 446 if (pe) 447 eigrp_prefix_entry_delete(eigrp->topology_table, pe); 448 449 eigrp_if_down(ei);
** CID 1455336: Null pointer dereferences (NULL_RETURNS) /eigrpd/eigrp_topology.c: 467 in eigrp_update_routing_table() ________________________________________________________________________________________________________ *** CID 1455336: Null pointer dereferences (NULL_RETURNS) /eigrpd/eigrp_topology.c: 467 in eigrp_update_routing_table() 461 } 462 } 463 464 void eigrp_update_routing_table(struct eigrp_prefix_entry *prefix) 465 { 466 struct eigrp *eigrp = eigrp_lookup();
CID 1455336: Null pointer dereferences (NULL_RETURNS) Dereferencing a null pointer "eigrp".
467 struct list *successors = 468 eigrp_topology_get_successor_max(prefix, eigrp->max_paths); 469 struct listnode *node; 470 struct eigrp_nexthop_entry *entry; 471 472 if (successors) {
** CID 1455335: Null pointer dereferences (NULL_RETURNS) /eigrpd/eigrp_topology.c: 446 in eigrp_topology_update_node_flags() ________________________________________________________________________________________________________ *** CID 1455335: Null pointer dereferences (NULL_RETURNS) /eigrpd/eigrp_topology.c: 446 in eigrp_topology_update_node_flags() 440 { 441 struct listnode *node; 442 struct eigrp_nexthop_entry *entry; 443 struct eigrp *eigrp = eigrp_lookup(); 444 445 for (ALL_LIST_ELEMENTS_RO(dest->entries, node, entry)) {
CID 1455335: Null pointer dereferences (NULL_RETURNS) Dereferencing a null pointer "eigrp".
446 if (((uint64_t)entry->distance 447 <= (uint64_t)dest->distance * (uint64_t)eigrp->variance) 448 && entry->distance != EIGRP_MAX_METRIC) // is successor 449 { 450 entry->flags |= EIGRP_NEXTHOP_ENTRY_SUCCESSOR_FLAG; 451 entry->flags &= ~EIGRP_NEXTHOP_ENTRY_FSUCCESSOR_FLAG;
** CID 1455334: Null pointer dereferences (NULL_RETURNS) /eigrpd/eigrp_topology.c: 217 in eigrp_prefix_entry_delete() ________________________________________________________________________________________________________ *** CID 1455334: Null pointer dereferences (NULL_RETURNS) /eigrpd/eigrp_topology.c: 217 in eigrp_prefix_entry_delete() 211 struct eigrp *eigrp = eigrp_lookup(); 212 213 /* 214 * Emergency removal of the node from this list. 215 * Whatever it is. 216 */
CID 1455334: Null pointer dereferences (NULL_RETURNS) Dereferencing a null pointer "eigrp".
217 listnode_delete(eigrp->topology_changes_internalIPV4, node); 218 219 if (listnode_lookup(topology, node) != NULL) { 220 list_delete_all_node(node->entries); 221 list_free(node->entries); 222 list_free(node->rij);
________________________________________________________________________________________________________ To view the defects in Coverity Scan visit, https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05... To manage Coverity Scan email notifications for "frr@lists.nox.tf", click https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05...