From: Rémi Bernon <rbernon(a)codeweavers.com> --- dlls/ntdll/unix/file.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c index 67a4d4b6c89..f1d7742e238 100644 --- a/dlls/ntdll/unix/file.c +++ b/dlls/ntdll/unix/file.c @@ -1369,7 +1369,8 @@ static ULONG hash_short_file_name( const WCHAR *name, int length, LPWSTR buffer } /* Find last dot for start of the extension */ - for (p = name + 1, ext = NULL; p < end - 1; p++) if (*p == '.') ext = p; + for (ext = end - 2; ext > name; ext--) if (*ext == '.') break; + if (ext == name) ext = NULL; /* Copy first 4 chars, replacing invalid chars with '_' */ for (i = 4, p = name, dst = buffer; i > 0; i--, p++) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1756