Author: tfaber Date: Fri Apr 25 12:34:17 2014 New Revision: 62965
URL: http://svn.reactos.org/svn/reactos?rev=62965&view=rev Log: [WIN32K] - Avoid assigning a nonvolatile variable inside a try block. Spotted by Timo. CORE-8094
Modified: trunk/reactos/win32ss/user/ntuser/winsta.c
Modified: trunk/reactos/win32ss/user/ntuser/winsta.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/winsta.... ============================================================================== --- trunk/reactos/win32ss/user/ntuser/winsta.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/winsta.c [iso-8859-1] Fri Apr 25 12:34:17 2014 @@ -736,6 +736,9 @@ }
Exit: + if (Status == STATUS_SUCCESS && nLength < nDataSize) + Status = STATUS_BUFFER_TOO_SMALL; + _SEH2_TRY { if (nLengthNeeded) @@ -745,10 +748,7 @@ if (Status == STATUS_SUCCESS) { TRACE("Trying to copy data to caller (len = %lu, len needed = %lu)\n", nLength, nDataSize); - if (nLength >= nDataSize) - RtlCopyMemory(pvInformation, pvData, nDataSize); - else - Status = STATUS_BUFFER_TOO_SMALL; + RtlCopyMemory(pvInformation, pvData, nDataSize); } } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)