diff --git a/boot/xtldr/xtldr.cc b/boot/xtldr/xtldr.cc index 2e960f6..3e0cac9 100644 --- a/boot/xtldr/xtldr.cc +++ b/boot/xtldr/xtldr.cc @@ -236,6 +236,15 @@ BlStartXtLoader(IN EFI_HANDLE ImageHandle, PWCHAR Modules; EFI_STATUS Status; + /* Check if system is EFI-based and provided parameters are valid */ + if(ImageHandle == NULLPTR || SystemTable == NULLPTR) + { + /* Invalid parameters, print error message using BIOS calls and hang */ + BiosUtils::ClearScreen(); + BiosUtils::Print(L"XTLDR requires EFI-based system!"); + for(;;); + } + /* Initialize XTLDR and */ XtLoader::InitializeBootLoader(ImageHandle, SystemTable);