- Avoid assigning a nonvolatile variable inside a try block. Spotted by Timo.
CORE-8094

svn path=/trunk/; revision=62965
This commit is contained in:
Thomas Faber 2014-04-25 12:34:17 +00:00
parent a21f22e98d
commit b2231ae220

View file

@ -736,6 +736,9 @@ NtUserGetObjectInformation(
} }
Exit: Exit:
if (Status == STATUS_SUCCESS && nLength < nDataSize)
Status = STATUS_BUFFER_TOO_SMALL;
_SEH2_TRY _SEH2_TRY
{ {
if (nLengthNeeded) if (nLengthNeeded)
@ -745,10 +748,7 @@ Exit:
if (Status == STATUS_SUCCESS) if (Status == STATUS_SUCCESS)
{ {
TRACE("Trying to copy data to caller (len = %lu, len needed = %lu)\n", nLength, nDataSize); TRACE("Trying to copy data to caller (len = %lu, len needed = %lu)\n", nLength, nDataSize);
if (nLength >= nDataSize) RtlCopyMemory(pvInformation, pvData, nDataSize);
RtlCopyMemory(pvInformation, pvData, nDataSize);
else
Status = STATUS_BUFFER_TOO_SMALL;
} }
} }
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)