Change the object to non permanent if an error occurs (in NtCreateDirectoryObject).
Modified: trunk/reactos/ntoskrnl/ob/dirobj.c

Modified: trunk/reactos/ntoskrnl/ob/dirobj.c
--- trunk/reactos/ntoskrnl/ob/dirobj.c	2005-05-29 15:41:24 UTC (rev 15665)
+++ trunk/reactos/ntoskrnl/ob/dirobj.c	2005-05-29 15:43:53 UTC (rev 15666)
@@ -484,6 +484,10 @@
                             0,
                             NULL,
                             &hDirectory);
+    if (!NT_SUCCESS(Status))
+    {
+       ObMakeTemporaryObject(Directory);
+    }
     ObDereferenceObject(Directory);
 
     if(NT_SUCCESS(Status))