NtCreatePagingFile() should release the captured unicode string even if probing the other parameters failed
Modified: trunk/reactos/ntoskrnl/mm/pagefile.c

Modified: trunk/reactos/ntoskrnl/mm/pagefile.c
--- trunk/reactos/ntoskrnl/mm/pagefile.c	2005-01-26 14:15:38 UTC (rev 13313)
+++ trunk/reactos/ntoskrnl/mm/pagefile.c	2005-01-26 14:38:27 UTC (rev 13314)
@@ -757,15 +757,7 @@
    }
 
    PreviousMode = ExGetPreviousMode();
-   Status = RtlCaptureUnicodeString(&CapturedFileName,
-                                    PreviousMode,
-                                    PagedPool,
-                                    FALSE,
-                                    FileName);
-   if (!NT_SUCCESS(Status))
-   {
-      return(Status);
-   }
+
    if (PreviousMode == UserMode)
    {
       _SEH_TRY
@@ -795,6 +787,16 @@
       SafeInitialSize = *InitialSize;
       SafeMaximumSize = *MaximumSize;
    }
+   
+   Status = RtlCaptureUnicodeString(&CapturedFileName,
+                                    PreviousMode,
+                                    PagedPool,
+                                    FALSE,
+                                    FileName);
+   if (!NT_SUCCESS(Status))
+   {
+      return(Status);
+   }
 
    InitializeObjectAttributes(&ObjectAttributes,
                               &CapturedFileName,