From b2231ae22012f93067f27ae3656fc83263558a00 Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Fri, 25 Apr 2014 12:34:17 +0000 Subject: [PATCH] [WIN32K] - Avoid assigning a nonvolatile variable inside a try block. Spotted by Timo. CORE-8094 svn path=/trunk/; revision=62965 --- reactos/win32ss/user/ntuser/winsta.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reactos/win32ss/user/ntuser/winsta.c b/reactos/win32ss/user/ntuser/winsta.c index fdadc21e2bd..f4fe81a017e 100644 --- a/reactos/win32ss/user/ntuser/winsta.c +++ b/reactos/win32ss/user/ntuser/winsta.c @@ -736,6 +736,9 @@ NtUserGetObjectInformation( } Exit: + if (Status == STATUS_SUCCESS && nLength < nDataSize) + Status = STATUS_BUFFER_TOO_SMALL; + _SEH2_TRY { if (nLengthNeeded) @@ -745,10 +748,7 @@ Exit: 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)