New Defects reported by Coverity Scan for freerangerouting/frr
scan-admin at coverity.com
scan-admin at coverity.com
Tue Jan 23 00:22:39 UTC 2024
Hi,
Please find the latest report on new defect(s) introduced to freerangerouting/frr found with Coverity Scan.
16 new defect(s) introduced to freerangerouting/frr found with Coverity Scan.
New defect(s) Reported-by: Coverity Scan
Showing 16 of 16 defect(s)
** CID 1575926: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1772 in rpki_expire_interval_magic()
/bgpd/bgp_rpki.c: 1772 in rpki_expire_interval_magic()
________________________________________________________________________________________________________
*** CID 1575926: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1772 in rpki_expire_interval_magic()
1766
1767 if (vty->node == RPKI_VRF_NODE)
1768 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1769 else
1770 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1771
>>> CID 1575926: (NULL_RETURNS)
>>> Dereferencing "rpki_vrf", which is known to be "NULL".
1772 if ((unsigned int)tmp >= rpki_vrf->polling_period) {
1773 rpki_vrf->expire_interval = tmp;
1774 return CMD_SUCCESS;
1775 }
1776
1777 vty_out(vty, "%% Expiry interval must be polling period or larger\n");
/bgpd/bgp_rpki.c: 1772 in rpki_expire_interval_magic()
1766
1767 if (vty->node == RPKI_VRF_NODE)
1768 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1769 else
1770 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1771
>>> CID 1575926: (NULL_RETURNS)
>>> Dereferencing "rpki_vrf", which is known to be "NULL".
1772 if ((unsigned int)tmp >= rpki_vrf->polling_period) {
1773 rpki_vrf->expire_interval = tmp;
1774 return CMD_SUCCESS;
1775 }
1776
1777 vty_out(vty, "%% Expiry interval must be polling period or larger\n");
** CID 1575925: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1833 in no_rpki_retry_interval()
/bgpd/bgp_rpki.c: 1833 in no_rpki_retry_interval()
________________________________________________________________________________________________________
*** CID 1575925: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1833 in no_rpki_retry_interval()
1827
1828 if (vty->node == RPKI_VRF_NODE)
1829 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1830 else
1831 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1832
>>> CID 1575925: (NULL_RETURNS)
>>> Dereferencing "rpki_vrf", which is known to be "NULL".
1833 rpki_vrf->retry_interval = RETRY_INTERVAL_DEFAULT;
1834 return CMD_SUCCESS;
1835 }
1836
1837 DEFPY(rpki_cache, rpki_cache_cmd,
1838 "rpki cache <A.B.C.D|WORD> <TCPPORT|(1-65535)$sshport SSH_UNAME SSH_PRIVKEY [SERVER_PUBKEY]> [source <A.B.C.D>$bindaddr] preference (1-255)",
/bgpd/bgp_rpki.c: 1833 in no_rpki_retry_interval()
1827
1828 if (vty->node == RPKI_VRF_NODE)
1829 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1830 else
1831 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1832
>>> CID 1575925: (NULL_RETURNS)
>>> Dereferencing "rpki_vrf", which is known to be "NULL".
1833 rpki_vrf->retry_interval = RETRY_INTERVAL_DEFAULT;
1834 return CMD_SUCCESS;
1835 }
1836
1837 DEFPY(rpki_cache, rpki_cache_cmd,
1838 "rpki cache <A.B.C.D|WORD> <TCPPORT|(1-65535)$sshport SSH_UNAME SSH_PRIVKEY [SERVER_PUBKEY]> [source <A.B.C.D>$bindaddr] preference (1-255)",
** CID 1575924: (CHECKED_RETURN)
/bgpd/bgp_rpki.c: 1348 in rpki_create_socket()
/bgpd/bgp_rpki.c: 1349 in rpki_create_socket()
________________________________________________________________________________________________________
*** CID 1575924: (CHECKED_RETURN)
/bgpd/bgp_rpki.c: 1348 in rpki_create_socket()
1342
1343 pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &cancel_state);
1344 timeout.tv_sec = 30;
1345 timeout.tv_usec = 0;
1346
1347 optlen = sizeof(prev_rcv_tmout);
>>> CID 1575924: (CHECKED_RETURN)
>>> Calling "getsockopt(socket, 1, 20, &prev_rcv_tmout, &optlen)" without checking return value. This library function may fail and return an error code.
1348 getsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, &prev_rcv_tmout, &optlen);
1349 getsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, &prev_snd_tmout, &optlen);
1350
1351 setsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
1352 setsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout));
1353
/bgpd/bgp_rpki.c: 1349 in rpki_create_socket()
1343 pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &cancel_state);
1344 timeout.tv_sec = 30;
1345 timeout.tv_usec = 0;
1346
1347 optlen = sizeof(prev_rcv_tmout);
1348 getsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, &prev_rcv_tmout, &optlen);
>>> CID 1575924: (CHECKED_RETURN)
>>> Calling "getsockopt(socket, 1, 21, &prev_snd_tmout, &optlen)" without checking return value. This library function may fail and return an error code.
1349 getsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, &prev_snd_tmout, &optlen);
1350
1351 setsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
1352 setsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout));
1353
1354 if (connect(socket, res->ai_addr, res->ai_addrlen) == -1) {
** CID 1575923: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1735 in rpki_polling_period_magic()
/bgpd/bgp_rpki.c: 1735 in rpki_polling_period_magic()
________________________________________________________________________________________________________
*** CID 1575923: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1735 in rpki_polling_period_magic()
1729
1730 if (vty->node == RPKI_VRF_NODE)
1731 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1732 else
1733 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1734
>>> CID 1575923: (NULL_RETURNS)
>>> Dereferencing "rpki_vrf", which is known to be "NULL".
1735 rpki_vrf->polling_period = pp;
1736 return CMD_SUCCESS;
1737 }
1738
1739 DEFUN (no_rpki_polling_period,
1740 no_rpki_polling_period_cmd,
/bgpd/bgp_rpki.c: 1735 in rpki_polling_period_magic()
1729
1730 if (vty->node == RPKI_VRF_NODE)
1731 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1732 else
1733 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1734
>>> CID 1575923: (NULL_RETURNS)
>>> Dereferencing "rpki_vrf", which is known to be "NULL".
1735 rpki_vrf->polling_period = pp;
1736 return CMD_SUCCESS;
1737 }
1738
1739 DEFUN (no_rpki_polling_period,
1740 no_rpki_polling_period_cmd,
** CID 1575922: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1754 in no_rpki_polling_period()
/bgpd/bgp_rpki.c: 1754 in no_rpki_polling_period()
________________________________________________________________________________________________________
*** CID 1575922: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1754 in no_rpki_polling_period()
1748
1749 if (vty->node == RPKI_VRF_NODE)
1750 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1751 else
1752 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1753
>>> CID 1575922: (NULL_RETURNS)
>>> Dereferencing "rpki_vrf", which is known to be "NULL".
1754 rpki_vrf->polling_period = POLLING_PERIOD_DEFAULT;
1755 return CMD_SUCCESS;
1756 }
1757
1758 DEFPY (rpki_expire_interval,
1759 rpki_expire_interval_cmd,
/bgpd/bgp_rpki.c: 1754 in no_rpki_polling_period()
1748
1749 if (vty->node == RPKI_VRF_NODE)
1750 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1751 else
1752 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1753
>>> CID 1575922: (NULL_RETURNS)
>>> Dereferencing "rpki_vrf", which is known to be "NULL".
1754 rpki_vrf->polling_period = POLLING_PERIOD_DEFAULT;
1755 return CMD_SUCCESS;
1756 }
1757
1758 DEFPY (rpki_expire_interval,
1759 rpki_expire_interval_cmd,
** CID 1575921: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1796 in no_rpki_expire_interval()
/bgpd/bgp_rpki.c: 1796 in no_rpki_expire_interval()
________________________________________________________________________________________________________
*** CID 1575921: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1796 in no_rpki_expire_interval()
1790
1791 if (vty->node == RPKI_VRF_NODE)
1792 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1793 else
1794 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1795
>>> CID 1575921: (NULL_RETURNS)
>>> Dereferencing "rpki_vrf", which is known to be "NULL".
1796 rpki_vrf->expire_interval = rpki_vrf->polling_period * 2;
1797 return CMD_SUCCESS;
1798 }
1799
1800 DEFPY (rpki_retry_interval,
1801 rpki_retry_interval_cmd,
/bgpd/bgp_rpki.c: 1796 in no_rpki_expire_interval()
1790
1791 if (vty->node == RPKI_VRF_NODE)
1792 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1793 else
1794 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1795
>>> CID 1575921: (NULL_RETURNS)
>>> Dereferencing "rpki_vrf", which is known to be "NULL".
1796 rpki_vrf->expire_interval = rpki_vrf->polling_period * 2;
1797 return CMD_SUCCESS;
1798 }
1799
1800 DEFPY (rpki_retry_interval,
1801 rpki_retry_interval_cmd,
** CID 1575920: (NULL_RETURNS)
________________________________________________________________________________________________________
*** CID 1575920: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 2425 in config_on_exit()
2419 struct rpki_vrf *rpki_vrf;
2420
2421 if (vty->node == RPKI_VRF_NODE)
2422 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
2423 else
2424 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
>>> CID 1575920: (NULL_RETURNS)
>>> Dereferencing a pointer that might be "NULL" "rpki_vrf" when calling "reset".
2425 reset(false, rpki_vrf);
2426 return 1;
2427 }
2428
2429 DEFPY(rpki_reset,
2430 rpki_reset_cmd,
/bgpd/bgp_rpki.c: 2425 in config_on_exit()
2419 struct rpki_vrf *rpki_vrf;
2420
2421 if (vty->node == RPKI_VRF_NODE)
2422 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
2423 else
2424 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
>>> CID 1575920: (NULL_RETURNS)
>>> Dereferencing a pointer that might be "NULL" "rpki_vrf" when calling "reset".
2425 reset(false, rpki_vrf);
2426 return 1;
2427 }
2428
2429 DEFPY(rpki_reset,
2430 rpki_reset_cmd,
** CID 1575919: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1933 in no_rpki_cache_magic()
/bgpd/bgp_rpki.c: 1933 in no_rpki_cache_magic()
________________________________________________________________________________________________________
*** CID 1575919: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1933 in no_rpki_cache_magic()
1927
1928 if (vty->node == RPKI_VRF_NODE)
1929 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1930 else
1931 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1932
>>> CID 1575919: (NULL_RETURNS)
>>> Dereferencing "rpki_vrf", which is known to be "NULL".
1933 cache_list = rpki_vrf->cache_list;
1934 cache_p = find_cache(preference, cache_list);
1935 if (!rpki_vrf || !cache_p) {
1936 vty_out(vty, "Could not find cache with preference %ld\n",
1937 preference);
1938 return CMD_WARNING;
/bgpd/bgp_rpki.c: 1933 in no_rpki_cache_magic()
1927
1928 if (vty->node == RPKI_VRF_NODE)
1929 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1930 else
1931 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1932
>>> CID 1575919: (NULL_RETURNS)
>>> Dereferencing "rpki_vrf", which is known to be "NULL".
1933 cache_list = rpki_vrf->cache_list;
1934 cache_p = find_cache(preference, cache_list);
1935 if (!rpki_vrf || !cache_p) {
1936 vty_out(vty, "Could not find cache with preference %ld\n",
1937 preference);
1938 return CMD_WARNING;
** CID 1575918: Null pointer dereferences (REVERSE_INULL)
/bgpd/bgp_rpki.c: 1294 in rpki_create_socket()
________________________________________________________________________________________________________
*** CID 1575918: Null pointer dereferences (REVERSE_INULL)
/bgpd/bgp_rpki.c: 1294 in rpki_create_socket()
1288 int ret;
1289 #if defined(FOUND_SSH)
1290 struct tr_ssh_config *ssh_config;
1291 char s_port[10];
1292 #endif
1293
>>> CID 1575918: Null pointer dereferences (REVERSE_INULL)
>>> Null-checking "cache" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
1294 if (!cache)
1295 return -1;
1296
1297 if (rpki_vrf->vrfname == NULL)
1298 vrf = vrf_lookup_by_id(VRF_DEFAULT);
1299 else
** CID 1575917: Null pointer dereferences (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1631 in rpki()
________________________________________________________________________________________________________
*** CID 1575917: Null pointer dereferences (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1631 in rpki()
1625 if (vty->node == CONFIG_NODE)
1626 vty->node = RPKI_NODE;
1627 else {
1628 struct vrf *vrf = VTY_GET_CONTEXT(vrf);
1629
1630 vty->node = RPKI_VRF_NODE;
>>> CID 1575917: Null pointer dereferences (NULL_RETURNS)
>>> Dereferencing "vrf", which is known to be "NULL".
1631 if (vrf->vrf_id != VRF_DEFAULT)
1632 vrfname = vrf->name;
1633 }
1634
1635 rpki_vrf = find_rpki_vrf(vrfname);
1636 if (!rpki_vrf) {
** CID 1575916: (CHECKED_RETURN)
/bgpd/bgp_rpki.c: 1352 in rpki_create_socket()
/bgpd/bgp_rpki.c: 1366 in rpki_create_socket()
/bgpd/bgp_rpki.c: 1351 in rpki_create_socket()
/bgpd/bgp_rpki.c: 1368 in rpki_create_socket()
________________________________________________________________________________________________________
*** CID 1575916: (CHECKED_RETURN)
/bgpd/bgp_rpki.c: 1352 in rpki_create_socket()
1346
1347 optlen = sizeof(prev_rcv_tmout);
1348 getsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, &prev_rcv_tmout, &optlen);
1349 getsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, &prev_snd_tmout, &optlen);
1350
1351 setsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
>>> CID 1575916: (CHECKED_RETURN)
>>> Calling "setsockopt(socket, 1, 21, &timeout, 16U)" without checking return value. This library function may fail and return an error code.
1352 setsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout));
1353
1354 if (connect(socket, res->ai_addr, res->ai_addrlen) == -1) {
1355 if (res)
1356 freeaddrinfo(res);
1357 close(socket);
/bgpd/bgp_rpki.c: 1366 in rpki_create_socket()
1360 }
1361
1362 if (res)
1363 freeaddrinfo(res);
1364 pthread_setcancelstate(cancel_state, NULL);
1365
>>> CID 1575916: (CHECKED_RETURN)
>>> Calling "setsockopt(socket, 1, 20, &prev_rcv_tmout, 16U)" without checking return value. This library function may fail and return an error code.
1366 setsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, &prev_rcv_tmout,
1367 sizeof(prev_rcv_tmout));
1368 setsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, &prev_snd_tmout,
1369 sizeof(prev_snd_tmout));
1370
1371 return socket;
/bgpd/bgp_rpki.c: 1351 in rpki_create_socket()
1345 timeout.tv_usec = 0;
1346
1347 optlen = sizeof(prev_rcv_tmout);
1348 getsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, &prev_rcv_tmout, &optlen);
1349 getsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, &prev_snd_tmout, &optlen);
1350
>>> CID 1575916: (CHECKED_RETURN)
>>> Calling "setsockopt(socket, 1, 20, &timeout, 16U)" without checking return value. This library function may fail and return an error code.
1351 setsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
1352 setsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout));
1353
1354 if (connect(socket, res->ai_addr, res->ai_addrlen) == -1) {
1355 if (res)
1356 freeaddrinfo(res);
/bgpd/bgp_rpki.c: 1368 in rpki_create_socket()
1362 if (res)
1363 freeaddrinfo(res);
1364 pthread_setcancelstate(cancel_state, NULL);
1365
1366 setsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, &prev_rcv_tmout,
1367 sizeof(prev_rcv_tmout));
>>> CID 1575916: (CHECKED_RETURN)
>>> Calling "setsockopt(socket, 1, 21, &prev_snd_tmout, 16U)" without checking return value. This library function may fail and return an error code.
1368 setsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, &prev_snd_tmout,
1369 sizeof(prev_snd_tmout));
1370
1371 return socket;
1372 }
1373
** CID 1575915: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1814 in rpki_retry_interval_magic()
/bgpd/bgp_rpki.c: 1814 in rpki_retry_interval_magic()
________________________________________________________________________________________________________
*** CID 1575915: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 1814 in rpki_retry_interval_magic()
1808
1809 if (vty->node == RPKI_VRF_NODE)
1810 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1811 else
1812 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1813
>>> CID 1575915: (NULL_RETURNS)
>>> Dereferencing "rpki_vrf", which is known to be "NULL".
1814 rpki_vrf->retry_interval = tmp;
1815 return CMD_SUCCESS;
1816 }
1817
1818 DEFUN (no_rpki_retry_interval,
1819 no_rpki_retry_interval_cmd,
/bgpd/bgp_rpki.c: 1814 in rpki_retry_interval_magic()
1808
1809 if (vty->node == RPKI_VRF_NODE)
1810 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1811 else
1812 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1813
>>> CID 1575915: (NULL_RETURNS)
>>> Dereferencing "rpki_vrf", which is known to be "NULL".
1814 rpki_vrf->retry_interval = tmp;
1815 return CMD_SUCCESS;
1816 }
1817
1818 DEFUN (no_rpki_retry_interval,
1819 no_rpki_retry_interval_cmd,
** CID 1575914: Resource leaks (RESOURCE_LEAK)
/bgpd/bgp_rpki.c: 1341 in rpki_create_socket()
________________________________________________________________________________________________________
*** CID 1575914: Resource leaks (RESOURCE_LEAK)
/bgpd/bgp_rpki.c: 1341 in rpki_create_socket()
1335
1336 frr_with_privs (&bgpd_privs) {
1337 socket = vrf_socket(res->ai_family, res->ai_socktype,
1338 res->ai_protocol, vrf->vrf_id, NULL);
1339 }
1340 if (socket < 0)
>>> CID 1575914: Resource leaks (RESOURCE_LEAK)
>>> Variable "res" going out of scope leaks the storage it points to.
1341 return -1;
1342
1343 pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &cancel_state);
1344 timeout.tv_sec = 30;
1345 timeout.tv_usec = 0;
1346
** CID 1575913: (NULL_RETURNS)
________________________________________________________________________________________________________
*** CID 1575913: (NULL_RETURNS)
/bgpd/bgp_rpki.c: 2457 in rpki_reset_config_mode_magic()
2451 struct rpki_vrf *rpki_vrf;
2452
2453 if (vty->node == RPKI_VRF_NODE)
2454 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
2455 else
2456 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
>>> CID 1575913: (NULL_RETURNS)
>>> Dereferencing a pointer that might be "NULL" "rpki_vrf" when calling "reset".
2457 return reset(true, rpki_vrf) == SUCCESS ? CMD_SUCCESS : CMD_WARNING;
2458 }
2459
2460 DEFUN (debug_rpki,
2461 debug_rpki_cmd,
2462 "debug rpki",
/bgpd/bgp_rpki.c: 2457 in rpki_reset_config_mode_magic()
2451 struct rpki_vrf *rpki_vrf;
2452
2453 if (vty->node == RPKI_VRF_NODE)
2454 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
2455 else
2456 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
>>> CID 1575913: (NULL_RETURNS)
>>> Dereferencing a pointer that might be "NULL" "rpki_vrf" when calling "reset".
2457 return reset(true, rpki_vrf) == SUCCESS ? CMD_SUCCESS : CMD_WARNING;
2458 }
2459
2460 DEFUN (debug_rpki,
2461 debug_rpki_cmd,
2462 "debug rpki",
** CID 1575912: (REVERSE_INULL)
/bgpd/bgp_rpki.c: 1355 in rpki_create_socket()
/bgpd/bgp_rpki.c: 1362 in rpki_create_socket()
________________________________________________________________________________________________________
*** CID 1575912: (REVERSE_INULL)
/bgpd/bgp_rpki.c: 1355 in rpki_create_socket()
1349 getsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, &prev_snd_tmout, &optlen);
1350
1351 setsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
1352 setsockopt(socket, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout));
1353
1354 if (connect(socket, res->ai_addr, res->ai_addrlen) == -1) {
>>> CID 1575912: (REVERSE_INULL)
>>> Null-checking "res" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
1355 if (res)
1356 freeaddrinfo(res);
1357 close(socket);
1358 pthread_setcancelstate(cancel_state, NULL);
1359 return -1;
1360 }
/bgpd/bgp_rpki.c: 1362 in rpki_create_socket()
1356 freeaddrinfo(res);
1357 close(socket);
1358 pthread_setcancelstate(cancel_state, NULL);
1359 return -1;
1360 }
1361
>>> CID 1575912: (REVERSE_INULL)
>>> Null-checking "res" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
1362 if (res)
1363 freeaddrinfo(res);
1364 pthread_setcancelstate(cancel_state, NULL);
1365
1366 setsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, &prev_rcv_tmout,
1367 sizeof(prev_rcv_tmout));
** CID 1575911: Null pointer dereferences (REVERSE_INULL)
/bgpd/bgp_rpki.c: 1935 in no_rpki_cache_magic()
________________________________________________________________________________________________________
*** CID 1575911: Null pointer dereferences (REVERSE_INULL)
/bgpd/bgp_rpki.c: 1935 in no_rpki_cache_magic()
1929 rpki_vrf = VTY_GET_CONTEXT_SUB(rpki_vrf);
1930 else
1931 rpki_vrf = VTY_GET_CONTEXT(rpki_vrf);
1932
1933 cache_list = rpki_vrf->cache_list;
1934 cache_p = find_cache(preference, cache_list);
>>> CID 1575911: Null pointer dereferences (REVERSE_INULL)
>>> Null-checking "rpki_vrf" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
1935 if (!rpki_vrf || !cache_p) {
1936 vty_out(vty, "Could not find cache with preference %ld\n",
1937 preference);
1938 return CMD_WARNING;
1939 }
1940
________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yrtN2DGUU98GYhjd55wXsXtw53zRK70R0agdV-2Fb7c45-2BoAJF92cCodBN9BBnDbw-2FFg-3D1N5z_O0IDF7c8sUs2B6kWTeWwAJZqriD5fgsfL8PAN30oQTzJbSqj9X0lFGnNGpvEFGbuwqTEnu8zz-2B7S3LaKIl-2FNCNmDfPuLC0t-2BE2-2B9t0xBeVGf5KvKv0qx5pChjiA4rX-2BIH2cobS5cWGQknLeq1ndOwB62ZAGoN4D9fm07EYYOCu3PQHmHdRdBMDOAMdjXsE2kANafwADfzb2-2FgIixBAGUJQ-3D-3D
More information about the dev
mailing list