Coverity reports a possible DIVIDE_BY_ZERO issue regarding the "ram_size" object property. This can not happen because RAM has predefined valid sizes per SoC. Nevertheless, add a test to close the issue.
Fixes: Coverity CID 1547113 Signed-off-by: Jamin Lin <jamin_...@aspeedtech.com> Reviewed-by: Cédric Le Goater <c...@redhat.com> [ clg: Rewrote commit log ] Signed-off-by: Cédric Le Goater <c...@redhat.com> --- hw/arm/aspeed_ast27x0.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c index b6876b4862..d14a46df6f 100644 --- a/hw/arm/aspeed_ast27x0.c +++ b/hw/arm/aspeed_ast27x0.c @@ -211,6 +211,12 @@ static void aspeed_ram_capacity_write(void *opaque, hwaddr addr, uint64_t data, ram_size = object_property_get_uint(OBJECT(&s->sdmc), "ram-size", &error_abort); + if (!ram_size) { + qemu_log_mask(LOG_GUEST_ERROR, + "%s: ram_size is zero", __func__); + return; + } + /* * Emulate ddr capacity hardware behavior. * If writes the data to the address which is beyond the ram size, -- 2.25.1