diff options
author | David Gibson | 2015-09-03 02:08:23 +0200 |
---|---|---|
committer | David Gibson | 2015-09-23 02:51:09 +0200 |
commit | 627c2ef7898794a28d706ecdf094491bebbb083a (patch) | |
tree | 0d53ae00210a3b7dd6451a799bbcfea25bf433b2 /include/hw/ppc/spapr.h | |
parent | spapr: add dumpdtb support (diff) | |
download | qemu-627c2ef7898794a28d706ecdf094491bebbb083a.tar.gz qemu-627c2ef7898794a28d706ecdf094491bebbb083a.tar.xz qemu-627c2ef7898794a28d706ecdf094491bebbb083a.zip |
spapr_drc: Fix potential undefined behaviour
The DRC_INDEX_ID_MASK macro does a left shift on ~0, which is a signed
quantity, and therefore undefined behaviour according to the C spec. In
particular this causes warnings from the clang sanitizer.
This fixes it by calculating the same mask without using ~0 (I think the
new method is a more common idiom for generating masks anyway). For good
measure I also use 1ULL to force the expression's type to unsigned long
long, which should be good for assigning to anything we're going to want
to.
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Diffstat (limited to 'include/hw/ppc/spapr.h')
0 files changed, 0 insertions, 0 deletions