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,