On 2/25/2022 12:02 PM, Mike Pattrick wrote:
GCC 11.2.1-2.2 emits a false-positive warnings like: lib/ofp-packet.c: In function 'ofputil_decode_packet_in': lib/ofp-packet.c:155:25: warning: 'reason' may be used uninitialized [-Wmaybe-uninitialized] lib/ofp-packet.c: In function 'ofputil_decode_packet_in_private': lib/ofp-packet.c:886:27: warning: 'value' may be used uninitialized [-Wmaybe-uninitialized] The caller doesn't happen to use the variables in these cases because an error is set. But checking for the error resolves this warning. Signed-off-by: Mike Pattrick <[email protected]> --- lib/ofp-packet.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/ofp-packet.c b/lib/ofp-packet.c index 4579548ee..81b3ebac6 100644 --- a/lib/ofp-packet.c +++ b/lib/ofp-packet.c @@ -152,7 +152,9 @@ decode_nx_packet_in2(const struct ofp_header *oh, bool loose, case NXPINT_REASON: { uint8_t reason; error = ofpprop_parse_u8(&payload, &reason); - pin->reason = reason; + if (!error) { + pin->reason = reason; + } break; }@@ -883,7 +885,9 @@ ofputil_decode_packet_in_private(const struct ofp_header *oh, bool loose,case NXCPT_ODP_PORT: { uint32_t value; error = ofpprop_parse_u32(&payload, &value); - pin->odp_port = u32_to_odp(value); + if (!error) { + pin->odp_port = u32_to_odp(value); + } break; }
Hi Mike, Thanks for the patch. It looks reasonable. Question though? Are these the only false positives for an entire build? Seems to me this might be the sort of thing that occurs elsewhere. Thanks, - Greg _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
