]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
ui/vt100: Take byte as uint8_t in bh_utf8_decode()
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 12 May 2026 10:42:10 +0000 (11:42 +0100)
committerMarc-André Lureau <marcandre.lureau@redhat.com>
Sun, 24 May 2026 21:00:53 +0000 (01:00 +0400)
The bh_utf8_decode() UTF8 decoder takes its next byte as a "uint32_t
byte" parameter, but it assumes it to be in bounds as it immediately
indexes into its array with it.

Use "uint8_t" as the argument type instead. This moves us away from
the upstream implementation slightly, but it is the same type as
we use in the one callsite, and it makes it clear that we can't
be indexing off the end of the array with this guest-derived data.

This probably helps make Coverity a bit happier (CID 1659590).

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20260512104210.3330835-3-peter.maydell@linaro.org>

ui/vt100.c

index 7e373766bc1bb6d5d974ae7e85f86427a7cdc401..f8140cfa85ccede92a40c30ed0c52ab353202841 100644 (file)
@@ -438,7 +438,7 @@ static void vt100_clear_xy(QemuVT100 *vt, int x, int y)
 #define BH_UTF8_ACCEPT 0
 #define BH_UTF8_REJECT 12
 
-static uint32_t bh_utf8_decode(uint32_t *state, uint32_t *codep, uint32_t byte)
+static uint32_t bh_utf8_decode(uint32_t *state, uint32_t *codep, uint8_t byte)
 {
     static const uint8_t utf8d[] = {
         /* character class lookup */