diff --git a/reactos/dll/win32/kernel32/file/dir.c b/reactos/dll/win32/kernel32/file/dir.c index 6903f5c8b49..bbf9929ceeb 100644 --- a/reactos/dll/win32/kernel32/file/dir.c +++ b/reactos/dll/win32/kernel32/file/dir.c @@ -885,7 +885,7 @@ SearchPathA ( goto Cleanup; } - BufferU.MaximumLength = (USHORT)nBufferLength * sizeof(WCHAR); + BufferU.MaximumLength = min(nBufferLength * sizeof(WCHAR), USHRT_MAX); BufferU.Buffer = RtlAllocateHeap (RtlGetProcessHeap (), 0, BufferU.MaximumLength); @@ -895,7 +895,7 @@ SearchPathA ( goto Cleanup; } - Buffer.MaximumLength = (USHORT)nBufferLength; + Buffer.MaximumLength = min(nBufferLength, USHRT_MAX); Buffer.Buffer = lpBuffer; RetValue = SearchPathW (NULL == lpPath ? NULL : PathU.Buffer,