- Fixed a length calculation in IopInitializeDriverModule.
- Freed the memory from hal.dll.
Modified: trunk/reactos/ntoskrnl/io/driver.c
_____
Modified: trunk/reactos/ntoskrnl/io/driver.c
--- trunk/reactos/ntoskrnl/io/driver.c 2005-01-01 11:51:16 UTC (rev
12696)
+++ trunk/reactos/ntoskrnl/io/driver.c 2005-01-01 11:53:38 UTC (rev
12697)
@@ -534,7 +534,7 @@
if (DeviceNode->ServiceName.Buffer)
{
RegistryKey.Length = DeviceNode->ServiceName.Length +
- sizeof(ServicesKeyName);
+ sizeof(ServicesKeyName) - sizeof(UNICODE_NULL);
RegistryKey.MaximumLength = RegistryKey.Length +
sizeof(UNICODE_NULL);
RegistryKey.Buffer = ExAllocatePool(PagedPool,
RegistryKey.MaximumLength);
wcscpy(RegistryKey.Buffer, ServicesKeyName);
@@ -1234,10 +1234,10 @@
}
/*
- * Free memory for all boot files, except ntoskrnl.exe, hal.dll
+ * Free memory for all boot files, except ntoskrnl.exe
* and symbol files, if the kernel debugger is active
*/
- if (_stricmp(Extension, ".exe") && _stricmp(Extension,
".dll")
+ if (i != 0 /* ntoskrnl.exe is always the first module */
#if defined(DBG) || defined(KDBG)
&& _stricmp(Extension, ".sym")
#endif
Show replies by date