From: Trent Waddington <trent.waddington@tensorworks.com.au> --- dlls/kernelbase/loader.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dlls/kernelbase/loader.c b/dlls/kernelbase/loader.c index f4e1ca2e23a..aeac1c3ec77 100644 --- a/dlls/kernelbase/loader.c +++ b/dlls/kernelbase/loader.c @@ -315,7 +315,14 @@ DWORD WINAPI DECLSPEC_HOTPATCH GetModuleFileNameW( HMODULE module, LPWSTR filena name.Buffer = filename; name.MaximumLength = min( size, UNICODE_STRING_MAX_CHARS ) * sizeof(WCHAR); status = LdrGetDllFullName( module, &name ); - if (!status || status == STATUS_BUFFER_TOO_SMALL) len = name.Length / sizeof(WCHAR); + if (!status || status == STATUS_BUFFER_TOO_SMALL) + { + len = name.Length / sizeof(WCHAR); + if (len < size) + filename[len] = 0; + else if (size > 0) + filename[size - 1] = 0; + } SetLastError( RtlNtStatusToDosError( status )); done: TRACE( "%s\n", debugstr_wn(filename, len) ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10291