aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Pau Monné <royger@FreeBSD.org>2021-02-23 14:56:27 +0000
committerRoger Pau Monné <royger@FreeBSD.org>2021-02-23 15:05:03 +0000
commit0eaa97f0e8629bcf678ff4de2678e4cba00f1c91 (patch)
treea16c0765479aacd3319e9d25a60e133f65c20932
parentab379c15af6fd7c2b94f0e91769fe7e1a4102e25 (diff)
downloadsrc-0eaa97f0e8629bcf678ff4de2678e4cba00f1c91.tar.gz
src-0eaa97f0e8629bcf678ff4de2678e4cba00f1c91.zip
stand/multiboot2: fix header length check
Check whether we have reached the end of the buffer using search_size instead of MULTIBOOT_SEARCH, which is the maximum defined by the specification, but the file can be shorter than that. This prevents printing a harmless error message when loading a file that is smaller than MULTIBOOT_SEARCH. Sponsored by: Citrix Systems R&D MFC after: 3 days Fixes: adda2797eb2a ('stand/multiboot2: add support for booting a Xen dom0 in UEFI mode')
-rw-r--r--stand/efi/loader/arch/amd64/multiboot2.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/stand/efi/loader/arch/amd64/multiboot2.c b/stand/efi/loader/arch/amd64/multiboot2.c
index 6ee36afcb881..4d7b2713685d 100644
--- a/stand/efi/loader/arch/amd64/multiboot2.c
+++ b/stand/efi/loader/arch/amd64/multiboot2.c
@@ -107,7 +107,7 @@ loadfile(char *filename, uint64_t dest, struct preloaded_file **result)
break;
}
- if (i >= MULTIBOOT_SEARCH) {
+ if (i >= search_size) {
error = EFTYPE;
goto out;
}