From 46fabdaffccbbc39faeb69e42d4a89bc1531e96c Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Fri, 26 Oct 2018 22:49:25 +0000 Subject: [PATCH] Require that we have at least a device path header before trying to decode the next device path. Sponsored by: Netflix, Inc --- usr.sbin/efivar/efiutil.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/efivar/efiutil.c b/usr.sbin/efivar/efiutil.c index 786a1c41d499..a7dfc2474b04 100644 --- a/usr.sbin/efivar/efiutil.c +++ b/usr.sbin/efivar/efiutil.c @@ -159,7 +159,7 @@ efi_print_load_option(uint8_t *data, size_t datalen, int Aflag, int bflag, int u ucs2_to_utf8(descr, &str); printf("%s", str); free(str); - while (dp < edp) { + while (dp < edp && (size_t)(edp - dp) > sizeof(efidp_header)) { efidp_format_device_path(buf, sizeof(buf), dp, (intptr_t)(void *)edp - (intptr_t)(void *)dp); dp = (efidp)((char *)dp + efidp_size(dp));