From: Paul Gofman Subject: [PATCH 2/3] Avoid undefined result in ntdll_wcstoumbs() in case of error. Message-Id: <20200424184019.1537738-2-pgofman@codeweavers.com> Date: Fri, 24 Apr 2020 21:40:18 +0300 In-Reply-To: <20200424184019.1537738-1-pgofman@codeweavers.com> References: <20200424184019.1537738-1-pgofman@codeweavers.com> Undefined result is due to RtlUnicodeToUTF8N() not setting output length on error which is a correct behaviour according to existing tests. 'Planet Zoo' is affected which passes NULL object name buffer to NtCreateFile(). Signed-off-by: Paul Gofman --- dlls/ntdll/locale.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/ntdll/locale.c b/dlls/ntdll/locale.c index a28f5d0f58..da29241517 100644 --- a/dlls/ntdll/locale.c +++ b/dlls/ntdll/locale.c @@ -1020,7 +1020,7 @@ DWORD ntdll_umbstowcs( const char *src, DWORD srclen, WCHAR *dst, DWORD dstlen ) */ int ntdll_wcstoumbs( const WCHAR *src, DWORD srclen, char *dst, DWORD dstlen, BOOL strict ) { - DWORD i, reslen; + DWORD i, reslen = 0; if (!unix_table.CodePage) RtlUnicodeToUTF8N( dst, dstlen, &reslen, src, srclen * sizeof(WCHAR) ); -- 2.25.3