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
This commit is contained in:
Andrew Turner 2018-01-15 16:58:07 +00:00
parent 7c63e50188
commit 2c18ede691
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=328007

View File

@ -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);