From 007948a96dc356541aa2140a23f0d228d2783c20 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Wed, 8 Jan 2025 04:22:23 +1100 Subject: [PATCH] osd/strconv.cpp: Deal with NUL when osd_uchar_from_osdchar uses mbstowcs. --- src/osd/strconv.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/osd/strconv.cpp b/src/osd/strconv.cpp index 83fb8eaecae..130f259d70f 100644 --- a/src/osd/strconv.cpp +++ b/src/osd/strconv.cpp @@ -294,6 +294,14 @@ error: int osd_uchar_from_osdchar(char32_t *uchar, const char *osdchar, size_t count) { + // TODO: should this handle count == 0? + if (!*osdchar) + { + // mbstowcs stops on encountering NUL and doesn't include it in the output count + *uchar = char32_t(0); + return 1; + } + // FIXME: mbstowcs depends on global state wchar_t wch; count = mbstowcs(&wch, (char *)osdchar, 1);