From dc0ac571867cf63e1ae23d414c139e60943e9ca6 Mon Sep 17 00:00:00 2001 From: Christoph von Wittich Date: Thu, 23 Apr 2015 20:18:38 +0000 Subject: [PATCH] [TASKMGR] fix process cpu time CORE-9562 svn path=/trunk/; revision=67373 --- reactos/base/applications/taskmgr/perfdata.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/reactos/base/applications/taskmgr/perfdata.c b/reactos/base/applications/taskmgr/perfdata.c index 9762e631c42..89c22afffd1 100644 --- a/reactos/base/applications/taskmgr/perfdata.c +++ b/reactos/base/applications/taskmgr/perfdata.c @@ -331,20 +331,18 @@ void PerfDataRefresh(void) /* Now alloc a new PERFDATA array and fill in the data */ pPerfData = (PPERFDATA)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(PERFDATA) * ProcessCount); - if (pPerfDataOld) { - HeapFree(GetProcessHeap(), 0, pPerfDataOld); - } - pPerfDataOld = pPerfData; pSPI = (PSYSTEM_PROCESS_INFORMATION)pBuffer; for (Idx=0; IdxUniqueProcessId) { - pPDOld = &pPerfDataOld[Idx2]; - break; + if (pPerfDataOld) { + for (Idx2=0; Idx2UniqueProcessId) { + pPDOld = &pPerfDataOld[Idx2]; + break; + } } } @@ -447,6 +445,10 @@ ClearInfo: pSPI = (PSYSTEM_PROCESS_INFORMATION)((LPBYTE)pSPI + pSPI->NextEntryOffset); } HeapFree(GetProcessHeap(), 0, pBuffer); + if (pPerfDataOld) { + HeapFree(GetProcessHeap(), 0, pPerfDataOld); + } + pPerfDataOld = pPerfData; LeaveCriticalSection(&PerfDataCriticalSection); }