bgpd: Ensure pkt_afi and pkt_safi are not used uninited in some cases

The compiler is, rightly, pointing out that in some cases it is
possible that the pkt_afi and pkt_safi values are not properly
set and could result in a use before initialized.  I do not
actually belive that this is possible, but let's make the compiler
happy.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
Donald Sharp 2022-04-27 07:57:41 -04:00
parent 8f904fdb45
commit 617975d114
4 changed files with 20 additions and 20 deletions

View File

@ -3596,8 +3596,8 @@ size_t bgp_packet_mpattr_start(struct stream *s, struct peer *peer, afi_t afi,
struct attr *attr)
{
size_t sizep;
iana_afi_t pkt_afi;
iana_safi_t pkt_safi;
iana_afi_t pkt_afi = IANA_AFI_IPV4;
iana_safi_t pkt_safi = IANA_SAFI_UNICAST;
afi_t nh_afi;
/* Set extended bit always to encode the attribute length as 2 bytes */
@ -4404,8 +4404,8 @@ bgp_size_t bgp_packet_attribute(struct bgp *bgp, struct peer *peer,
size_t bgp_packet_mpunreach_start(struct stream *s, afi_t afi, safi_t safi)
{
unsigned long attrlen_pnt;
iana_afi_t pkt_afi;
iana_safi_t pkt_safi;
iana_afi_t pkt_afi = IANA_AFI_IPV4;
iana_safi_t pkt_safi = IANA_SAFI_UNICAST;
/* Set extended bit always to encode the attribute length as 2 bytes */
stream_putc(s, BGP_ATTR_FLAG_OPTIONAL | BGP_ATTR_FLAG_EXTLEN);

View File

@ -761,8 +761,8 @@ static void bmp_eor(struct bmp *bmp, afi_t afi, safi_t safi, uint8_t flags)
struct peer *peer;
struct listnode *node;
struct stream *s, *s2;
iana_afi_t pkt_afi;
iana_safi_t pkt_safi;
iana_afi_t pkt_afi = IANA_AFI_IPV4;
iana_safi_t pkt_safi = IANA_SAFI_UNICAST;
frrtrace(3, frr_bgp, bmp_eor, afi, safi, flags);

View File

@ -1324,8 +1324,8 @@ static void bgp_open_capability_orf(struct stream *s, struct peer *peer,
unsigned long orfp;
unsigned long numberp;
int number_of_orfs = 0;
iana_afi_t pkt_afi;
iana_safi_t pkt_safi;
iana_afi_t pkt_afi = IANA_AFI_IPV4;
iana_safi_t pkt_safi = IANA_SAFI_UNICAST;
/* Convert AFI, SAFI to values for packet. */
bgp_map_afi_safi_int2iana(afi, safi, &pkt_afi, &pkt_safi);
@ -1389,10 +1389,10 @@ static void bgp_peer_send_gr_capability(struct stream *s, struct peer *peer,
bool ext_opt_params)
{
int len;
iana_afi_t pkt_afi;
iana_afi_t pkt_afi = IANA_AFI_IPV4;
afi_t afi;
safi_t safi;
iana_safi_t pkt_safi;
iana_safi_t pkt_safi = IANA_SAFI_UNICAST;
uint32_t restart_time;
unsigned long capp = 0;
unsigned long rcapp = 0;
@ -1472,10 +1472,10 @@ static void bgp_peer_send_llgr_capability(struct stream *s, struct peer *peer,
bool ext_opt_params)
{
int len;
iana_afi_t pkt_afi;
iana_afi_t pkt_afi = IANA_AFI_IPV4;
afi_t afi;
safi_t safi;
iana_safi_t pkt_safi;
iana_safi_t pkt_safi = IANA_SAFI_UNICAST;
unsigned long capp = 0;
unsigned long rcapp = 0;
@ -1523,10 +1523,10 @@ uint16_t bgp_open_capability(struct stream *s, struct peer *peer,
{
uint16_t len;
unsigned long cp, capp, rcapp, eopl = 0;
iana_afi_t pkt_afi;
iana_afi_t pkt_afi = IANA_AFI_IPV4;
afi_t afi;
safi_t safi;
iana_safi_t pkt_safi;
iana_safi_t pkt_safi = IANA_SAFI_UNICAST;
as_t local_as;
uint8_t afi_safi_count = 0;
int adv_addpath_tx = 0;

View File

@ -131,8 +131,8 @@ static struct stream *bgp_update_packet_eor(struct peer *peer, afi_t afi,
safi_t safi)
{
struct stream *s;
iana_afi_t pkt_afi;
iana_safi_t pkt_safi;
iana_afi_t pkt_afi = IANA_AFI_IPV4;
iana_safi_t pkt_safi = IANA_SAFI_UNICAST;
if (DISABLE_BGP_ANNOUNCE)
return NULL;
@ -869,8 +869,8 @@ void bgp_route_refresh_send(struct peer *peer, afi_t afi, safi_t safi,
struct stream *s;
struct bgp_filter *filter;
int orf_refresh = 0;
iana_afi_t pkt_afi;
iana_safi_t pkt_safi;
iana_afi_t pkt_afi = IANA_AFI_IPV4;
iana_safi_t pkt_safi = IANA_SAFI_UNICAST;
if (DISABLE_BGP_ANNOUNCE)
return;
@ -976,8 +976,8 @@ void bgp_capability_send(struct peer *peer, afi_t afi, safi_t safi,
int capability_code, int action)
{
struct stream *s;
iana_afi_t pkt_afi;
iana_safi_t pkt_safi;
iana_afi_t pkt_afi = IANA_AFI_IPV4;
iana_safi_t pkt_safi = IANA_SAFI_UNICAST;
/* Convert AFI, SAFI to values for packet. */
bgp_map_afi_safi_int2iana(afi, safi, &pkt_afi, &pkt_safi);