From 70a52adb8b67a4750f061399ef1afd5c0640b0a0 Mon Sep 17 00:00:00 2001 From: Rafal Kupiec Date: Sat, 2 Mar 2024 22:59:20 +0100 Subject: [PATCH] Don't even try to load a dependency modules with invalid name set --- xtldr/protocol.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/xtldr/protocol.c b/xtldr/protocol.c index 3b4d9d66..b3e31d10 100644 --- a/xtldr/protocol.c +++ b/xtldr/protocol.c @@ -159,7 +159,7 @@ BlLoadModule(IN PWCHAR ModuleName) return STATUS_EFI_SUCCESS; } - /* Move to the module */ + /* Move to next module */ ModuleListEntry = ModuleListEntry->Flink; } @@ -263,6 +263,13 @@ BlLoadModule(IN PWCHAR ModuleName) /* Get module dependency information */ ModuleDependency = CONTAIN_RECORD(DepsListEntry, XTBL_MODULE_DEPS, Flink); + /* Make sure dependency list contains a valid module name */ + if(ModuleDependency->ModuleName == NULL || ModuleDependency->ModuleName[0] == L'\0') + { + /* Invalid module name found, just skip this step */ + break; + } + /* Load dependency module */ BlDebugPrint(L"Module '%S' requires '%S' ...\n", ModuleName, ModuleDependency->ModuleName); Status = BlLoadModule(ModuleDependency->ModuleName);