RtlFreeUnicodeString -> ExFreePool changes Modified: trunk/reactos/ntoskrnl/ex/init.c Modified: trunk/reactos/ntoskrnl/io/arcname.c Modified: trunk/reactos/ntoskrnl/io/driver.c Modified: trunk/reactos/ntoskrnl/io/irp.c Modified: trunk/reactos/ntoskrnl/ob/symlink.c Modified: trunk/reactos/ntoskrnl/rtl/capture.c _____
Modified: trunk/reactos/ntoskrnl/ex/init.c --- trunk/reactos/ntoskrnl/ex/init.c 2005-05-05 20:14:39 UTC (rev 15020) +++ trunk/reactos/ntoskrnl/ex/init.c 2005-05-05 20:19:01 UTC (rev 15021) @@ -125,14 +125,14 @@
&ObjectAttributes);
/* Free the String */ - RtlFreeUnicodeString(&ArcName); + ExFreePool(ArcName.Buffer);
/* Check for Success */ if (!NT_SUCCESS(Status)) {
/* Free the Strings */ RtlFreeUnicodeString(&BootPath); - RtlFreeUnicodeString(&ArcDeviceName); + ExFreePool(ArcDeviceName.Buffer); CPRINT("NtOpenSymbolicLinkObject() failed (Status %x)\n", Status); KEBUGCHECK(0); } @@ -148,7 +148,7 @@
/* Free the Strings */ RtlFreeUnicodeString(&BootPath); - RtlFreeUnicodeString(&ArcDeviceName); + ExFreePool(ArcDeviceName.Buffer); CPRINT("NtQuerySymbolicLinkObject() failed (Status %x)\n", Status); KEBUGCHECK(0); } @@ -209,8 +209,8 @@
/* Free all the Strings we have in memory */ RtlFreeUnicodeString (&BootPath); - RtlFreeUnicodeString (&DriveDeviceName); - RtlFreeUnicodeString (&ArcDeviceName); + ExFreePool(DriveDeviceName.Buffer); + ExFreePool(ArcDeviceName.Buffer);
/* Make sure we found the Boot Drive */ if (BootDriveFound == FALSE) { _____
Modified: trunk/reactos/ntoskrnl/io/arcname.c --- trunk/reactos/ntoskrnl/io/arcname.c 2005-05-05 20:14:39 UTC (rev 15020) +++ trunk/reactos/ntoskrnl/io/arcname.c 2005-05-05 20:19:01 UTC (rev 15021) @@ -413,15 +413,15 @@
if (!NT_SUCCESS(Status)) { RtlFreeUnicodeString(&BootPath); - RtlFreeUnicodeString(&DeviceName); + ExFreePool(DeviceName.Buffer); CPRINT("ZwOpenSymbolicLinkObject() '%wZ' failed (Status %x)\n", &ArcName, Status); - RtlFreeUnicodeString(&ArcName); + ExFreePool(ArcName.Buffer);
return(Status); } - RtlFreeUnicodeString(&ArcName); + ExFreePool(ArcName.Buffer);
Status = ZwQuerySymbolicLinkObject(Handle, &DeviceName, @@ -430,7 +430,7 @@ if (!NT_SUCCESS(Status)) { RtlFreeUnicodeString(&BootPath); - RtlFreeUnicodeString(&DeviceName); + ExFreePool(DeviceName.Buffer); CPRINT("ZwQuerySymbolicObject() failed (Status %x)\n", Status);
@@ -450,7 +450,7 @@
Status = IoCreateSymbolicLink(&LinkName, &DeviceName); - RtlFreeUnicodeString (&DeviceName); + ExFreePool(DeviceName.Buffer); if (!NT_SUCCESS(Status)) { CPRINT("IoCreateSymbolicLink() failed (Status %x)\n", _____
Modified: trunk/reactos/ntoskrnl/io/driver.c --- trunk/reactos/ntoskrnl/io/driver.c 2005-05-05 20:14:39 UTC (rev 15020) +++ trunk/reactos/ntoskrnl/io/driver.c 2005-05-05 20:19:01 UTC (rev 15021) @@ -188,7 +188,7 @@
DPRINT("IopDeleteDriver(ObjectBody %x)\n", ObjectBody);
ExFreePool(Object->DriverExtension); - RtlFreeUnicodeString(&Object->DriverName); + ExFreePool(Object->DriverName.Buffer);
OldIrql = KeRaiseIrqlToDpcLevel();
@@ -197,7 +197,7 @@ DriverExtension = NextDriverExtension) { NextDriverExtension = DriverExtension->Link; - ExFreePool(DriverExtension); + ExFreePoolWithTag(DriverExtension, TAG_DRIVER_EXTENSION); }
KfLowerIrql(OldIrql); @@ -358,7 +358,7 @@
wcscpy(ImagePath->Buffer, L"\SystemRoot\"); wcscat(ImagePath->Buffer, InputImagePath.Buffer); - RtlFreeUnicodeString(&InputImagePath); + ExFreePool(InputImagePath.Buffer); }
return STATUS_SUCCESS; @@ -496,7 +496,7 @@ Status = STATUS_IMAGE_ALREADY_LOADED; }
- RtlFreeUnicodeString(&ServiceImagePath); + ExFreePool(ServiceImagePath.Buffer);
/* * Now check if the module was loaded successfully. @@ -908,8 +908,8 @@ NULL); if (!NT_SUCCESS(Status) || Service->Start > 1) { - RtlFreeUnicodeString(&Service->ServiceGroup); - RtlFreeUnicodeString(&Service->ImagePath); + ExFreePool(Service->ServiceGroup.Buffer); + ExFreePool(Service->ImagePath.Buffer); ExFreePool(Service); return(Status); } @@ -1065,7 +1065,7 @@ { CurrentGroup = CONTAINING_RECORD(GroupEntry, SERVICE_GROUP, GroupListEntry);
- RtlFreeUnicodeString(&CurrentGroup->GroupName); + ExFreePool(CurrentGroup->GroupName.Buffer); RemoveEntryList(GroupEntry); if (CurrentGroup->TagArray) { @@ -1082,10 +1082,10 @@ { CurrentService = CONTAINING_RECORD(ServiceEntry, SERVICE, ServiceListEntry);
- RtlFreeUnicodeString(&CurrentService->ServiceName); - RtlFreeUnicodeString(&CurrentService->RegistryPath); - RtlFreeUnicodeString(&CurrentService->ServiceGroup); - RtlFreeUnicodeString(&CurrentService->ImagePath); + ExFreePool(CurrentService->ServiceName.Buffer); + ExFreePool(CurrentService->RegistryPath.Buffer); + ExFreePool(CurrentService->ServiceGroup.Buffer); + ExFreePool(CurrentService->ImagePath.Buffer); RemoveEntryList(ServiceEntry); ExFreePool(CurrentService);
@@ -1547,7 +1547,7 @@ * Free the service path */
- RtlFreeUnicodeString(&ImagePath); + ExFreePool(ImagePath.Buffer);
/* * Unload the module and release the references to the device object @@ -1865,7 +1865,7 @@ if (!NT_SUCCESS(Status)) { DPRINT("RtlQueryRegistryValues() failed (Status %lx)\n", Status); - RtlFreeUnicodeString(&ImagePath); + ExFreePool(ImagePath.Buffer); goto ReleaseCapturedString; }
_____
Modified: trunk/reactos/ntoskrnl/io/irp.c --- trunk/reactos/ntoskrnl/io/irp.c 2005-05-05 20:14:39 UTC (rev 15020) +++ trunk/reactos/ntoskrnl/io/irp.c 2005-05-05 20:19:01 UTC (rev 15021) @@ -17,7 +17,7 @@
/* GLOBALS *******************************************************************/
#define TAG_IRP TAG('I', 'R', 'P', ' ') -#define TAG_SYS_BUF TAG('I', 'o', ' ' , ' ') +#define TAG_SYS_BUF TAG('S', 'Y', 'S' , 'B')
/* FUNCTIONS *****************************************************************/
_____
Modified: trunk/reactos/ntoskrnl/ob/symlink.c --- trunk/reactos/ntoskrnl/ob/symlink.c 2005-05-05 20:14:39 UTC (rev 15020) +++ trunk/reactos/ntoskrnl/ob/symlink.c 2005-05-05 20:19:01 UTC (rev 15021) @@ -72,7 +72,7 @@
{ PSYMLINK_OBJECT SymlinkObject = (PSYMLINK_OBJECT)ObjectBody;
- RtlFreeUnicodeString(&SymlinkObject->TargetName); + ExFreePool(SymlinkObject->TargetName.Buffer); }
@@ -129,7 +129,7 @@ }
/* transfer target path buffer into FullPath */ - RtlFreeUnicodeString(FullPath); + ExFreePool(FullPath->Buffer); FullPath->Length = TargetPath.Length; FullPath->MaximumLength = TargetPath.MaximumLength; FullPath->Buffer = TargetPath.Buffer; _____
Modified: trunk/reactos/ntoskrnl/rtl/capture.c --- trunk/reactos/ntoskrnl/rtl/capture.c 2005-05-05 20:14:39 UTC (rev 15020) +++ trunk/reactos/ntoskrnl/rtl/capture.c 2005-05-05 20:19:01 UTC (rev 15021) @@ -123,7 +123,7 @@
{ if(CurrentMode != KernelMode || CaptureIfKernel ) { - RtlFreeUnicodeString(CapturedString); + ExFreePool(CapturedString->Buffer); } }