SearchPathA()

- Fix calculation of buffer size (fixes Skype crash)
Patch by Mikhail Denisenko (denisenkom@gmail.com)
See issue #4526 for more details.

svn path=/trunk/; revision=41295
This commit is contained in:
Dmitry Chapyshev 2009-06-06 08:14:11 +00:00
parent 2d592301c9
commit c071c35012

View file

@ -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,