From 5cbb772a4d8c89f84605c47b42982d41ff08749b Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Mon, 10 Apr 2023 11:25:15 -0400 Subject: [PATCH] libroot: Fix handling of n=0 in mbrtowc. Fixes #18350. --- src/system/libroot/posix/wchar/mbrtowc.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/system/libroot/posix/wchar/mbrtowc.cpp b/src/system/libroot/posix/wchar/mbrtowc.cpp index 625b11ab13..2dbc35aa2f 100644 --- a/src/system/libroot/posix/wchar/mbrtowc.cpp +++ b/src/system/libroot/posix/wchar/mbrtowc.cpp @@ -34,6 +34,8 @@ __mbrtowc(wchar_t* pwc, const char* s, size_t n, mbstate_t* ps) if (s == NULL) return __mbrtowc(NULL, "", 1, ps); + if (n == 0) + return (size_t)-2; LocaleBackend* backend = GetCurrentLocaleBackend();