[ros-diffs] [dchapyshev] 41295: SearchPathA() - Fix calculation of buffer size (fixes Skype crash) Patch by Mikhail Denisenko (denisenkom at gmail.com) See issue #4526 for more details.
dchapyshev at svn.reactos.org
dchapyshev at svn.reactos.org
Sat Jun 6 10:14:12 CEST 2009
Author: dchapyshev
Date: Sat Jun 6 12:14:11 2009
New Revision: 41295
URL: http://svn.reactos.org/svn/reactos?rev=41295&view=rev
Log:
SearchPathA()
- Fix calculation of buffer size (fixes Skype crash)
Patch by Mikhail Denisenko (denisenkom at gmail.com)
See issue #4526 for more details.
Modified:
trunk/reactos/dll/win32/kernel32/file/dir.c
Modified: trunk/reactos/dll/win32/kernel32/file/dir.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/file/dir.c?rev=41295&r1=41294&r2=41295&view=diff
==============================================================================
--- trunk/reactos/dll/win32/kernel32/file/dir.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/file/dir.c [iso-8859-1] Sat Jun 6 12:14:11 2009
@@ -885,7 +885,7 @@
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 @@
goto Cleanup;
}
- Buffer.MaximumLength = (USHORT)nBufferLength;
+ Buffer.MaximumLength = min(nBufferLength, USHRT_MAX);
Buffer.Buffer = lpBuffer;
RetValue = SearchPathW (NULL == lpPath ? NULL : PathU.Buffer,
More information about the Ros-diffs
mailing list