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 pgofman@codeweavers.com --- 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) );