From 8366ad6ef83bb7e0310ba035f641ce9e1132deb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Sat, 8 Dec 2007 19:38:39 +0000 Subject: [PATCH] Fix some possible problems svn path=/trunk/; revision=31091 --- reactos/base/setup/usetup/interface/devinst.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/reactos/base/setup/usetup/interface/devinst.c b/reactos/base/setup/usetup/interface/devinst.c index fc2a057937c..f5ae9c0a1f4 100644 --- a/reactos/base/setup/usetup/interface/devinst.c +++ b/reactos/base/setup/usetup/interface/devinst.c @@ -222,7 +222,7 @@ InstallDevice( NtClose(hDeviceKey); return; } - else + else if (pPartialInformation) { for (HardwareID = (LPCWSTR)pPartialInformation->Data; (PUCHAR)HardwareID < pPartialInformation->Data + pPartialInformation->DataLength @@ -277,7 +277,7 @@ InstallDevice( DPRINT1("NtQueryValueKey() failed with status 0x%08x\n", Status); return; } - else + else if (pPartialInformation) { for (HardwareID = (LPCWSTR)pPartialInformation->Data; (PUCHAR)HardwareID < pPartialInformation->Data + pPartialInformation->DataLength @@ -347,7 +347,8 @@ EventThread(IN LPVOID lpParameter) if (Status == STATUS_BUFFER_TOO_SMALL) { PnpEventSize += 0x400; - PnpEvent = (PPLUGPLAY_EVENT_BLOCK)RtlReAllocateHeap(ProcessHeap, 0, PnpEvent, PnpEventSize); + RtlFreeHeap(ProcessHeap, 0, PnpEvent); + PnpEvent = (PPLUGPLAY_EVENT_BLOCK)RtlAllocateHeap(ProcessHeap, 0, PnpEventSize); if (PnpEvent == NULL) { NtClose(hEnum);