ofp-print: Fix misaligned data access in ofp_print_error_msg().
authorBen Pfaff <blp@nicira.com>
Sat, 5 Apr 2014 02:26:22 +0000 (19:26 -0700)
committerBen Pfaff <blp@nicira.com>
Sat, 5 Apr 2014 17:46:26 +0000 (10:46 -0700)
commitdea241f172b64958f6b917bc3971253c5dc010c0
tree07f22845ee6d4ea519bb8fdd674f5c88f1089f67
parent5fa008d4618856aa44189cc98f71a7b3c5233652
ofp-print: Fix misaligned data access in ofp_print_error_msg().

The body of an OpenFlow error message often contains an inner OpenFlow
message, and when it does, the inner message starts at an odd multiple of 4
bytes from the beginning of the outer message.  That means that, on RISC
systems, accessing the inner message directly causes a bus error.  This
commit fixes the problem in a way that should make it difficult to recur.

This fixes the failure of tests 643, 645, and 651 on sparc seen here:
https://buildd.debian.org/status/fetch.php?pkg=openvswitch&arch=sparc&ver=2.1.0%2Bgit20140325-1&stamp=1396438624

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
lib/ofp-errors.c
lib/ofp-print.c