mirror of
https://github.com/reactos/reactos.git
synced 2024-10-23 14:36:11 +00:00
- Fixed some NULL-terminating issues that caused the 'videoprt.sys???????????????' module name problem.
svn path=/trunk/; revision=9557
This commit is contained in:
parent
9fa3a2fdb7
commit
4bbc945c9c
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: loader.c,v 1.141 2004/03/27 19:41:32 navaraf Exp $
|
/* $Id: loader.c,v 1.142 2004/05/30 11:47:43 navaraf Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -975,6 +975,11 @@ LdrPEProcessModule(PVOID ModuleLoadBase,
|
||||||
NameString.Buffer = NameBuffer;
|
NameString.Buffer = NameBuffer;
|
||||||
NameString.MaximumLength =
|
NameString.MaximumLength =
|
||||||
NameString.Length = PathLength + ModuleName.Length;
|
NameString.Length = PathLength + ModuleName.Length;
|
||||||
|
|
||||||
|
/* NULL-terminate */
|
||||||
|
NameString.MaximumLength++;
|
||||||
|
NameBuffer[NameString.Length / sizeof(WCHAR)] = 0;
|
||||||
|
|
||||||
Status = LdrLoadModule(&NameString, &LibraryModuleObject);
|
Status = LdrLoadModule(&NameString, &LibraryModuleObject);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1106,8 +1111,10 @@ LdrPEProcessModule(PVOID ModuleLoadBase,
|
||||||
CreatedModuleObject->Base = DriverBase;
|
CreatedModuleObject->Base = DriverBase;
|
||||||
CreatedModuleObject->Flags = MODULE_FLAG_PE;
|
CreatedModuleObject->Flags = MODULE_FLAG_PE;
|
||||||
|
|
||||||
RtlCreateUnicodeString(&CreatedModuleObject->FullName,
|
CreatedModuleObject->FullName.Length = 0;
|
||||||
FileName->Buffer);
|
CreatedModuleObject->FullName.MaximumLength = FileName->Length + sizeof(UNICODE_NULL);
|
||||||
|
CreatedModuleObject->FullName.Buffer = ExAllocatePool(PagedPool, CreatedModuleObject->FullName.MaximumLength);
|
||||||
|
RtlCopyUnicodeString(&CreatedModuleObject->FullName, FileName);
|
||||||
LdrpBuildModuleBaseName(&CreatedModuleObject->BaseName,
|
LdrpBuildModuleBaseName(&CreatedModuleObject->BaseName,
|
||||||
&CreatedModuleObject->FullName);
|
&CreatedModuleObject->FullName);
|
||||||
|
|
||||||
|
@ -1144,8 +1151,11 @@ LdrPEProcessModule(PVOID ModuleLoadBase,
|
||||||
ModuleTextSection->Base = (ULONG)DriverBase;
|
ModuleTextSection->Base = (ULONG)DriverBase;
|
||||||
ModuleTextSection->Length = DriverSize;
|
ModuleTextSection->Length = DriverSize;
|
||||||
ModuleTextSection->Name = ExAllocatePool(NonPagedPool,
|
ModuleTextSection->Name = ExAllocatePool(NonPagedPool,
|
||||||
(wcslen(CreatedModuleObject->BaseName.Buffer) + 1) * sizeof(WCHAR));
|
(CreatedModuleObject->BaseName.Length + 1) * sizeof(WCHAR));
|
||||||
wcscpy(ModuleTextSection->Name, CreatedModuleObject->BaseName.Buffer);
|
RtlCopyMemory(ModuleTextSection->Name,
|
||||||
|
CreatedModuleObject->BaseName.Buffer,
|
||||||
|
CreatedModuleObject->BaseName.Length);
|
||||||
|
ModuleTextSection->Name[CreatedModuleObject->BaseName.Length / sizeof(WCHAR)] = 0;
|
||||||
ModuleTextSection->OptionalHeader =
|
ModuleTextSection->OptionalHeader =
|
||||||
CreatedModuleObject->Image.PE.OptionalHeader;
|
CreatedModuleObject->Image.PE.OptionalHeader;
|
||||||
InsertTailList(&ModuleTextListHead, &ModuleTextSection->ListEntry);
|
InsertTailList(&ModuleTextListHead, &ModuleTextSection->ListEntry);
|
||||||
|
|
Loading…
Reference in a new issue