On Tue, Jun 13, 2017 at 09:09:44AM -0400, Lance Richardson wrote: > > From: "Ben Pfaff" <[email protected]> > > To: [email protected] > > Cc: "Ben Pfaff" <[email protected]>, "Lance Richardson" <[email protected]> > > Sent: Tuesday, 13 June, 2017 12:51:14 AM > > Subject: [PATCH] byte-order: Fix undefined behavior of BYTES_TO_BE32. > > > > A left shift that would produce a result that is not representable > > by the type of the expression's result has "undefined behavior" > > according to the C language standard. Avoid this by casting values > > that could set the upper bit to unsigned types. > > > > Also document and convert a macro to a function. > > > > While we're at it, delete the unused macro BE16S_TO_BE32. > > > > Found via gcc's undefined behavior sanitizer. > > > > Reported-by: Lance Richardson <[email protected]> > > Signed-off-by: Ben Pfaff <[email protected]> > > --- > > lib/byte-order.h | 21 +++++++++++++-------- > > lib/flow.c | 2 +- > > 2 files changed, 14 insertions(+), 9 deletions(-) > > > > Looks good. > > Acked-by: Lance Richardson <[email protected]>
Thanks. I applied this to master. Do you think that it is worthwhile to apply this to older branches? _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
