summaryrefslogtreecommitdiff
path: root/load-options.c
diff options
context:
space:
mode:
authorSteve McIntyre <steve@einval.com>2023-01-22 13:05:10 +0000
committerSteve McIntyre <steve@einval.com>2023-01-22 13:05:10 +0000
commit2dd2f7600d41253fe621b8d040ab57f0c202d71b (patch)
tree603ffd3c05d9935fd879bb073f6d3edc672139cf /load-options.c
parente6ace38abd705fbe24349152b7c90d473404e86e (diff)
downloadefi-boot-shim-upstream/15.7.tar.gz
efi-boot-shim-upstream/15.7.zip
New upstream version 15.7upstream/15.7
Diffstat (limited to 'load-options.c')
-rw-r--r--load-options.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/load-options.c b/load-options.c
index c6bb7427..a8c6e1a3 100644
--- a/load-options.c
+++ b/load-options.c
@@ -404,8 +404,13 @@ parse_load_options(EFI_LOADED_IMAGE *li)
/*
* Apparently sometimes we get L"\0\0"? Which isn't useful at all.
+ *
+ * Possibly related, but some boards have additional data before the
+ * size which is garbage (it's a weird path to the directory
+ * containing the loaders). Known boards that do this: Kontron VX3040
+ * (AMI), ASUS B85M-E, and at least one "older Dell laptop".
*/
- if (is_all_nuls(li->LoadOptions, li->LoadOptionsSize))
+ if (((CHAR16 *)li->LoadOptions)[0] == 0)
return EFI_SUCCESS;
/*