aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2025-07-10 18:43:12 +0100
committerPeter Maydell <peter.maydell@linaro.org>2025-08-01 16:48:50 +0100
commite7b77e681f8ecf7d9360e47243f7c1a0fb88f51c (patch)
treeaff45696799ceaad20b2b9826301c9ac6e0e8f9c
parentb10bd4bd17ac8628ede8735a08ad82dc3b721c64 (diff)
downloadqemu-e7b77e681f8ecf7d9360e47243f7c1a0fb88f51c.zip
qemu-e7b77e681f8ecf7d9360e47243f7c1a0fb88f51c.tar.gz
qemu-e7b77e681f8ecf7d9360e47243f7c1a0fb88f51c.tar.bz2
hw/display/framebuffer: Add cast to force 64x64 multiply
In framebuffer_update_display(), Coverity complains because we multiply two values of type 'int' (which will be done as a 32x32 multiply and so in theory might overflow) and then add the result to a ram_addr_t, which can be 64 bits. 4GB framebuffers are not plausible anyway, but keep Coverity happy by adding casts which force these multiplies to be done as 64x64. Coverity: CID 1487248 Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> Message-id: 20250710174312.1313177-1-peter.maydell@linaro.org
-rw-r--r--hw/display/framebuffer.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/hw/display/framebuffer.c b/hw/display/framebuffer.c
index 4485aa3..b4296e8 100644
--- a/hw/display/framebuffer.c
+++ b/hw/display/framebuffer.c
@@ -95,9 +95,9 @@ void framebuffer_update_display(
}
first = -1;
- addr += i * src_width;
- src += i * src_width;
- dest += i * dest_row_pitch;
+ addr += (uint64_t)i * src_width;
+ src += (uint64_t)i * src_width;
+ dest += (uint64_t)i * dest_row_pitch;
snap = memory_region_snapshot_and_clear_dirty(mem, addr, src_width * rows,
DIRTY_MEMORY_VGA);