Author: cgutman
Date: Thu Aug 18 18:13:52 2011
New Revision: 53303
URL:
http://svn.reactos.org/svn/reactos?rev=53303&view=rev
Log:
- Swap the failure cases
- Missed change from r53301
Modified:
trunk/reactos/ntoskrnl/io/iomgr/deviface.c
Modified: trunk/reactos/ntoskrnl/io/iomgr/deviface.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/io/iomgr/deviface…
==============================================================================
--- trunk/reactos/ntoskrnl/io/iomgr/deviface.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/io/iomgr/deviface.c [iso-8859-1] Thu Aug 18 18:13:52 2011
@@ -1155,25 +1155,6 @@
if (!NT_SUCCESS(Status))
{
DPRINT1("ZwSetValueKey() failed with status 0x%08lx\n", Status);
- ExFreePool(SymbolicLinkName->Buffer);
- }
- else
- {
- SymbolicLinkName->Buffer[1] = '?';
- }
-
- /* Create symbolic link */
- DPRINT("IoRegisterDeviceInterface(): creating symbolic link %wZ ->
%wZ\n", SymbolicLinkName, &PdoNameInfo->Name);
- Status = IoCreateSymbolicLink(SymbolicLinkName, &PdoNameInfo->Name);
-
- /* If the symbolic link already exists, return an informational success status */
- if (Status == STATUS_OBJECT_NAME_COLLISION)
- Status = STATUS_OBJECT_NAME_EXISTS;
-
- /* Check if it really failed */
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("IoCreateSymbolicLink() failed with status 0x%08lx\n",
Status);
ZwClose(SubKey);
ZwClose(InterfaceKey);
ZwClose(ClassKey);
@@ -1182,6 +1163,25 @@
ExFreePool(BaseKeyName.Buffer);
ExFreePool(SymbolicLinkName->Buffer);
return Status;
+ }
+ else
+ {
+ SymbolicLinkName->Buffer[1] = '?';
+ }
+
+ /* Create symbolic link */
+ DPRINT("IoRegisterDeviceInterface(): creating symbolic link %wZ ->
%wZ\n", SymbolicLinkName, &PdoNameInfo->Name);
+ Status = IoCreateSymbolicLink(SymbolicLinkName, &PdoNameInfo->Name);
+
+ /* If the symbolic link already exists, return an informational success status */
+ if (Status == STATUS_OBJECT_NAME_COLLISION)
+ Status = STATUS_OBJECT_NAME_EXISTS;
+
+ /* Check if it really failed */
+ if (!NT_SUCCESS(Status))
+ {
+ DPRINT1("IoCreateSymbolicLink() failed with status 0x%08lx\n",
Status);
+ ExFreePool(SymbolicLinkName->Buffer);
}
ZwClose(SubKey);