block/vpc: Don't take address of fields in packed structs
commit0dbaaa7981e92a6b629b1cf0056dcafadd6ee8a5
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 10 Dec 2018 11:26:47 +0000 (10 11:26 +0000)
committerKevin Wolf <kwolf@redhat.com>
Fri, 1 Feb 2019 12:46:44 +0000 (1 13:46 +0100)
tree91b90cc0b1971ee3b2770baad6b1cab0a48e7444
parent4a960ece17c94989d4082f5d3d8c32b34eded57c
block/vpc: Don't take address of fields in packed structs

Taking the address of a field in a packed struct is a bad idea, because
it might not be actually aligned enough for that pointer type (and
thus cause a crash on dereference on some host architectures). Newer
versions of clang warn about this. Avoid the bug by generating the
UUID into a local variable which is definitely safely aligned and
then copying it into place.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/vpc.c