Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Oct 2018 22:49:25 +0000 (UTC)
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r339798 - head/usr.sbin/efivar
Message-ID:  <201810262249.w9QMnPkc045145@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: imp
Date: Fri Oct 26 22:49:25 2018
New Revision: 339798
URL: https://svnweb.freebsd.org/changeset/base/339798

Log:
  Require that we have at least a device path header before
  trying to decode the next device path.
  
  Sponsored by: Netflix, Inc

Modified:
  head/usr.sbin/efivar/efiutil.c

Modified: head/usr.sbin/efivar/efiutil.c
==============================================================================
--- head/usr.sbin/efivar/efiutil.c	Fri Oct 26 22:13:40 2018	(r339797)
+++ head/usr.sbin/efivar/efiutil.c	Fri Oct 26 22:49:25 2018	(r339798)
@@ -159,7 +159,7 @@ efi_print_load_option(uint8_t *data, size_t datalen, i
 	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));



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201810262249.w9QMnPkc045145>