From 2c18ede69116a97ccf2737d238d014875ba1d011 Mon Sep 17 00:00:00 2001 From: Andrew Turner <andrew@FreeBSD.org> Date: Mon, 15 Jan 2018 16:58:07 +0000 Subject: [PATCH] Fix booting on some arm64 systems after r327879 by fixing the call to utf8_to_ucs2 in boot1.efi. We need to initialise the ucs2 output string so it will allocate space, and use the return value to determine if the call was successful. Reviewed by: imp Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D13915 --- stand/efi/boot1/boot1.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stand/efi/boot1/boot1.c b/stand/efi/boot1/boot1.c index 80bfda8e4ff7..e88242cdd97a 100644 --- a/stand/efi/boot1/boot1.c +++ b/stand/efi/boot1/boot1.c @@ -89,8 +89,8 @@ efi_getenv(EFI_GUID *g, const char *v, void *data, size_t *len) UINTN dl; EFI_STATUS rv; - utf8_to_ucs2(v, &uv, &ul); - if (uv == NULL) + uv = NULL; + if (utf8_to_ucs2(v, &uv, &ul) != 0) return (EFI_OUT_OF_RESOURCES); dl = *len; rv = RS->GetVariable(uv, g, &attr, &dl, data);