diff options
author | Ken Lautner <kenlautner3@gmail.com> | 2024-08-27 13:21:47 -0700 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2024-09-05 06:52:09 +0000 |
commit | f0dc9e15048818e01c0556e6c461271aa9000d05 (patch) | |
tree | 26886c116fe8c309d31643569fbd61c7eba178d6 | |
parent | 03bc4252fb68f0dcba72a19e1b2a861a5d6c927e (diff) | |
download | edk2-f0dc9e15048818e01c0556e6c461271aa9000d05.zip edk2-f0dc9e15048818e01c0556e6c461271aa9000d05.tar.gz edk2-f0dc9e15048818e01c0556e6c461271aa9000d05.tar.bz2 |
MdeModulePkg: UefiBootManagerLib: Update assert condition
In BmFindBootOptionInVariable() we prevent passing a NULL pointer to
EfiBootManagerFindLoadOption(). However, it can accept a NULL pointer as
the second argument as long as count is zero. This change updates the
assert condtion to only assert if the pointer is NULL and the count is
non-zero.
Signed-off-by: Kenneth Lautner <kenlautner3@gmail.com>
-rw-r--r-- | MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c index 7a97f7c..8d62b0c 100644 --- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c @@ -147,6 +147,12 @@ BmFindBootOptionInVariable ( if (OptionNumber == LoadOptionNumberUnassigned) {
BootOptions = EfiBootManagerGetLoadOptions (&BootOptionCount, LoadOptionTypeBoot);
+ // Only assert if the BootOption is non-zero
+ if ((BootOptions == NULL) && (BootOptionCount > 0)) {
+ ASSERT (BootOptions != NULL);
+ return LoadOptionNumberUnassigned;
+ }
+
Index = EfiBootManagerFindLoadOption (OptionToFind, BootOptions, BootOptionCount);
if (Index != -1) {
OptionNumber = BootOptions[Index].OptionNumber;
|