On Fri, Feb 25, 2022 at 4:43 PM Gregory Rose <[email protected]> wrote: > > > > 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.
These were the only ones identified by GCC, but looking through the code I see a few other locations with the same pattern, will send a v2. -M > Thanks, > > - Greg > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
