[FREELDR] Unload freeldr.ini file before booting.
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Tue, 30 Jul 2019 00:11:26 +0000 (02:11 +0200)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 4 Aug 2019 15:47:03 +0000 (17:47 +0200)
boot/freeldr/freeldr/bootmgr.c
boot/freeldr/freeldr/linuxboot.c
boot/freeldr/freeldr/miscboot.c
boot/freeldr/freeldr/ntldr/winldr.c

index 69b7d98..5df8182 100644 (file)
@@ -280,5 +280,6 @@ VOID RunLoader(VOID)
 
 Reboot:
     UiUnInitialize("Rebooting...");
+    IniCleanup();
     return;
 }
index 2325894..d59ae16 100644 (file)
@@ -164,6 +164,7 @@ LoadAndBootLinux(IN OperatingSystemItem* OperatingSystem,
     RtlCopyMemory((PVOID)0x99000, LinuxCommandLine, LinuxCommandLineSize);
 
     UiUnInitialize("Booting Linux...");
+    IniCleanup();
 
     DiskStopFloppyMotor();
 
index 50f68e9..4ad2daa 100644 (file)
@@ -73,6 +73,7 @@ LoadAndBootBootSector(IN OperatingSystemItem* OperatingSystem,
     }
 
     UiUnInitialize("Booting...");
+    IniCleanup();
 
     /*
      * Don't stop the floppy drive motor when we
@@ -148,6 +149,7 @@ LoadAndBootPartition(IN OperatingSystemItem* OperatingSystem,
     }
 
     UiUnInitialize("Booting...");
+    IniCleanup();
 
     /*
      * Don't stop the floppy drive motor when we
@@ -206,6 +208,7 @@ LoadAndBootDrive(IN OperatingSystemItem* OperatingSystem,
     }
 
     UiUnInitialize("Booting...");
+    IniCleanup();
 
     /*
      * Don't stop the floppy drive motor when we
index 1127f2e..c9bdd84 100644 (file)
@@ -103,12 +103,12 @@ WinLdrInitializePhase1(PLOADER_PARAMETER_BLOCK LoaderBlock,
     TRACE("SystemRoot: %s\n", SystemRoot);
     TRACE("Options: %s\n", Options);
 
-    /* Fill Arc BootDevice */
+    /* Fill ARC BootDevice */
     LoaderBlock->ArcBootDeviceName = WinLdrSystemBlock->ArcBootDeviceName;
     strncpy(LoaderBlock->ArcBootDeviceName, ArcBoot, MAX_PATH);
     LoaderBlock->ArcBootDeviceName = PaToVa(LoaderBlock->ArcBootDeviceName);
 
-    /* Fill Arc HalDevice, it matches ArcBoot path */
+    /* Fill ARC HalDevice, it matches ArcBoot path */
     LoaderBlock->ArcHalDeviceName = WinLdrSystemBlock->ArcBootDeviceName;
     LoaderBlock->ArcHalDeviceName = PaToVa(LoaderBlock->ArcHalDeviceName);
 
@@ -136,7 +136,7 @@ WinLdrInitializePhase1(PLOADER_PARAMETER_BLOCK LoaderBlock,
 
     LoaderBlock->LoadOptions = PaToVa(LoaderBlock->LoadOptions);
 
-    /* Arc devices */
+    /* ARC devices */
     LoaderBlock->ArcDiskInformation = &WinLdrSystemBlock->ArcDiskInformation;
     InitializeListHead(&LoaderBlock->ArcDiskInformation->DiskSignatureListHead);
 
@@ -784,6 +784,7 @@ LoadAndBootWindowsCommon(
     PLDR_DATA_TABLE_ENTRY KernelDTE;
     KERNEL_ENTRY_POINT KiSystemStartup;
     LPCSTR SystemRoot;
+
     TRACE("LoadAndBootWindowsCommon()\n");
 
 #ifdef _M_IX86
@@ -820,6 +821,9 @@ LoadAndBootWindowsCommon(
     Success = WinLdrLoadBootDrivers(LoaderBlock, BootPath);
     TRACE("Boot drivers loading %s\n", Success ? "successful" : "failed");
 
+    /* Cleanup ini file */
+    IniCleanup();
+
     /* Initialize Phase 1 - no drivers loading anymore */
     WinLdrInitializePhase1(LoaderBlock,
                            BootOptions,
@@ -834,9 +838,6 @@ LoadAndBootWindowsCommon(
     /* "Stop all motors", change videomode */
     MachPrepareForReactOS();
 
-    /* Cleanup ini file */
-    IniCleanup();
-
     /* Debugging... */
     //DumpMemoryAllocMap();