bgpd: Fix code path that leads to uninitialized variables
subtype and sublength are not initialized and if on Line 1877
BGP_ATTR_ENCAP != type we will not set subtype and sublength,
but these variables are used immediately below that if statement.
This issue was discovered via the freebsd compiler.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c
index 42da7ff..54ff544 100644
--- a/bgpd/bgp_attr.c
+++ b/bgpd/bgp_attr.c
@@ -1871,8 +1871,8 @@
}
while (length >= 4) {
- uint16_t subtype;
- uint16_t sublength;
+ uint16_t subtype = 0;
+ uint16_t sublength = 0;
struct bgp_attr_encap_subtlv *tlv;
if (BGP_ATTR_ENCAP == type) {