From 6a9d1ccd39bf0305c94691ce0ca228599d4719f3 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 29 Jul 2025 13:12:26 +0200 Subject: [PATCH] hw/display/xenfb: Replace unreachable code by g_assert_not_reached() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit xenfb_mouse_event() has a switch statement whose controlling expression move->axis is an enum InputAxis. The enum values are INPUT_AXIS_X and INPUT_AXIS_Y, encoded as 0 and 1. The switch has a case for both axes. In addition, it has an unreachable default label. This convinces Coverity that move->axis can be greater than 1. It duly reports a buffer overrun when it is used to subscript an array with two elements. Replace the unreachable code by g_assert_not_reached(). Resolves: Coverity CID 1613906 Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daudé Message-ID: <20250729111226.3627499-1-armbru@redhat.com> [PMD: s/abort/g_assert_not_reached/] Signed-off-by: Philippe Mathieu-Daudé --- hw/display/xenfb.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c index 22822fecea..164fd0b248 100644 --- a/hw/display/xenfb.c +++ b/hw/display/xenfb.c @@ -283,8 +283,7 @@ static void xenfb_mouse_event(DeviceState *dev, QemuConsole *src, scale = surface_height(surface) - 1; break; default: - scale = 0x8000; - break; + g_assert_not_reached(); } xenfb->axis[move->axis] = move->value * scale / 0x7fff; } -- 2.47.3