From ec1a8a5a635e49080f8bfa434a9ae4de177564a9 Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Fri, 3 May 2013 19:31:03 +0000 Subject: [PATCH] [NTOSKRNL] Prevent potential double free in loop. Fixes CID 732510 svn path=/trunk/; revision=58916 --- reactos/ntoskrnl/io/iomgr/error.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/reactos/ntoskrnl/io/iomgr/error.c b/reactos/ntoskrnl/io/iomgr/error.c index 07197ff39b4..0c7c14ec926 100644 --- a/reactos/ntoskrnl/io/iomgr/error.c +++ b/reactos/ntoskrnl/io/iomgr/error.c @@ -367,7 +367,11 @@ IopLogWorker(IN PVOID Parameter) DeviceNameLength += sizeof(WCHAR); /* Free the buffer if we had one */ - if (PoolObjectNameInfo) ExFreePool(PoolObjectNameInfo); + if (PoolObjectNameInfo) + { + ExFreePool(PoolObjectNameInfo); + PoolObjectNameInfo = NULL; + } /* Go to the next string buffer position */ ErrorMessage->EntryData.NumberOfStrings++; @@ -428,7 +432,7 @@ IopLogWorker(IN PVOID Parameter) break; } - /* Derefernece the device object */ + /* Dereference the device object */ if (LogEntry->DeviceObject) ObDereferenceObject(LogEntry->DeviceObject); if (DriverObject) ObDereferenceObject(LogEntry->DriverObject);