On Tue, Jun 13, 2017 at 09:09:44AM -0400, Lance Richardson wrote: > > From: "Ben Pfaff" <b...@ovn.org> > > To: d...@openvswitch.org > > Cc: "Ben Pfaff" <b...@ovn.org>, "Lance Richardson" <lrich...@redhat.com> > > 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 <lrich...@redhat.com> > > Signed-off-by: Ben Pfaff <b...@ovn.org> > > --- > > lib/byte-order.h | 21 +++++++++++++-------- > > lib/flow.c | 2 +- > > 2 files changed, 14 insertions(+), 9 deletions(-) > > > > Looks good. > > Acked-by: Lance Richardson <lrich...@redhat.com>
Thanks. I applied this to master. Do you think that it is worthwhile to apply this to older branches? _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev