fix potential buffer overflow

svn path=/trunk/; revision=33725
This commit is contained in:
Ged Murphy 2008-05-27 08:28:52 +00:00
parent 6fdb1140a3
commit d0a0a529f1

View file

@ -89,10 +89,23 @@ GetDllList()
{ {
LPWSTR lpBuffer = (LPWSTR)kvpInfo->Data; LPWSTR lpBuffer = (LPWSTR)kvpInfo->Data;
if (lpBuffer != UNICODE_NULL) if (lpBuffer != UNICODE_NULL)
{
INT bytesToCopy, nullPos;
bytesToCopy = min(kvpInfo->DataLength, KEY_LENGTH * sizeof(WCHAR));
if (bytesToCopy != 0)
{ {
RtlMoveMemory(szAppInit, RtlMoveMemory(szAppInit,
kvpInfo->Data, kvpInfo->Data,
min(kvpInfo->DataLength, KEY_LENGTH)); bytesToCopy);
nullPos = (bytesToCopy / sizeof(WCHAR)) - 1;
/* ensure string is terminated */
szAppInit[nullPos] = UNICODE_NULL;
}
bRet = TRUE; bRet = TRUE;
} }
} }