if (!NT_SUCCESS(Status)) LoadDll->FileHandle = NULL;
/* Free the name now */
- ExFreePool(ModuleName.Buffer);
+ RtlFreeUnicodeString(&ModuleName);
}
/* Send the fake module load message */
{
PEPROCESS Process;
NTSTATUS Status;
- WCHAR ModuleFileNameBuffer[MAX_PATH] = {0};
UNICODE_STRING ModuleFileName;
PMEMORY_SECTION_NAME SectionName = NULL;
KPROCESSOR_MODE PreviousMode = ExGetPreviousMode();
return Status;
}
- RtlInitEmptyUnicodeString(&ModuleFileName, ModuleFileNameBuffer, sizeof(ModuleFileNameBuffer));
Status = MmGetFileNameForAddress(BaseAddress, &ModuleFileName);
if (NT_SUCCESS(Status))
if (ReturnLength) *ReturnLength = ModuleFileName.Length;
}
+
+ RtlFreeUnicodeString(&ModuleFileName);
}
ObDereferenceObject(Process);
return Status;