diff options
| author | Thomas Huth <thuth@redhat.com> | 2025-07-28 13:51:51 +0200 |
|---|---|---|
| committer | Thomas Huth <thuth@redhat.com> | 2025-09-09 09:34:45 +0200 |
| commit | 7af325c23ef5e94b77864d2d2ca64da4a5a35f30 (patch) | |
| tree | 6fd11213f0520c1f0471a718cc54eb968de1e950 | |
| parent | b3a51bb30bc72f88231e3b6a63c04eef5c36433c (diff) | |
| download | focaccia-qemu-7af325c23ef5e94b77864d2d2ca64da4a5a35f30.tar.gz focaccia-qemu-7af325c23ef5e94b77864d2d2ca64da4a5a35f30.zip | |
hw/mips/malta: Silence warning from ubsan
When compiling QEMU with --enable-ubsan there is a undefined behavior warning when using the malta machine: hw/mips/malta.c:1200:32: runtime error: addition of unsigned offset to 0x7fb620600000 overflowed to 0x7fb6205fffff SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior hw/mips/malta.c:1200:32 To fix the issue, check the bios_size whether we really loaded the firmware before trying to byte-swap the instructions here. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250728115152.187728-1-thuth@redhat.com>
| -rw-r--r-- | hw/mips/malta.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/mips/malta.c b/hw/mips/malta.c index 344dc8ca76..02da629b5a 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -1191,7 +1191,7 @@ void mips_malta_init(MachineState *machine) * In little endian mode the 32bit words in the bios are swapped, * a neat trick which allows bi-endian firmware. */ - if (!TARGET_BIG_ENDIAN) { + if (!TARGET_BIG_ENDIAN && bios_size > 0) { uint32_t *end, *addr; const size_t swapsize = MIN(bios_size, 0x3e0000); addr = rom_ptr(FLASH_ADDRESS, swapsize); |