Coverity thinks that the slot_offset multiplications in nubus_device_realize() might overflow because the resulting hwaddr is 64-bit whilst the multiplication is only done at 32-bits.
Add an explicit ULL suffix to NUBUS_SUPER_SLOT_SIZE and NUBUS_SUPER_SLOT_SIZE to ensure that the multiplication is also done at 64-bits. Fixes: Coverity CID 1464070 Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> --- include/hw/nubus/nubus.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/hw/nubus/nubus.h b/include/hw/nubus/nubus.h index b3b4d2eadb..677dd6e5a2 100644 --- a/include/hw/nubus/nubus.h +++ b/include/hw/nubus/nubus.h @@ -15,13 +15,13 @@ #include "qom/object.h" #include "qemu/units.h" -#define NUBUS_SUPER_SLOT_SIZE 0x10000000U +#define NUBUS_SUPER_SLOT_SIZE 0x10000000ULL #define NUBUS_SUPER_SLOT_NB 0xe #define NUBUS_SLOT_BASE (NUBUS_SUPER_SLOT_SIZE * \ (NUBUS_SUPER_SLOT_NB + 1)) -#define NUBUS_SLOT_SIZE 0x01000000 +#define NUBUS_SLOT_SIZE 0x01000000ULL #define NUBUS_FIRST_SLOT 0x0 #define NUBUS_LAST_SLOT 0xf #define NUBUS_SLOT_NB (NUBUS_LAST_SLOT - NUBUS_FIRST_SLOT + 1) -- 2.20.1