From 5a658d1d36d2e42344e30b3d457abe1cb2b46381 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 18 Aug 2011 18:13:52 +0000 Subject: [PATCH] - Swap the failure cases - Missed change from r53301 svn path=/trunk/; revision=53303 --- reactos/ntoskrnl/io/iomgr/deviface.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/reactos/ntoskrnl/io/iomgr/deviface.c b/reactos/ntoskrnl/io/iomgr/deviface.c index e0a0b78b769..6d6adcf9554 100644 --- a/reactos/ntoskrnl/io/iomgr/deviface.c +++ b/reactos/ntoskrnl/io/iomgr/deviface.c @@ -1155,7 +1155,14 @@ IoRegisterDeviceInterface(IN PDEVICE_OBJECT PhysicalDeviceObject, if (!NT_SUCCESS(Status)) { DPRINT1("ZwSetValueKey() failed with status 0x%08lx\n", Status); + ZwClose(SubKey); + ZwClose(InterfaceKey); + ZwClose(ClassKey); + ExFreePool(SubKeyName.Buffer); + ExFreePool(InterfaceKeyName.Buffer); + ExFreePool(BaseKeyName.Buffer); ExFreePool(SymbolicLinkName->Buffer); + return Status; } else { @@ -1174,14 +1181,7 @@ IoRegisterDeviceInterface(IN PDEVICE_OBJECT PhysicalDeviceObject, if (!NT_SUCCESS(Status)) { DPRINT1("IoCreateSymbolicLink() failed with status 0x%08lx\n", Status); - ZwClose(SubKey); - ZwClose(InterfaceKey); - ZwClose(ClassKey); - ExFreePool(SubKeyName.Buffer); - ExFreePool(InterfaceKeyName.Buffer); - ExFreePool(BaseKeyName.Buffer); ExFreePool(SymbolicLinkName->Buffer); - return Status; } ZwClose(SubKey);