From 94ba8d0506eb029310133636794aab6541521820 Mon Sep 17 00:00:00 2001 From: Haojian Zhuang Date: Thu, 18 Aug 2016 23:01:19 +0800 Subject: HiKey: change the serial number length to 17 Signed-off-by: Haojian Zhuang --- Platforms/Hisilicon/HiKey/HiKeyDxe/HiKeyDxe.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Platforms/Hisilicon/HiKey/HiKeyDxe/HiKeyDxe.c b/Platforms/Hisilicon/HiKey/HiKeyDxe/HiKeyDxe.c index 5992cfb..60d7fe5 100644 --- a/Platforms/Hisilicon/HiKey/HiKeyDxe/HiKeyDxe.c +++ b/Platforms/Hisilicon/HiKey/HiKeyDxe/HiKeyDxe.c @@ -29,7 +29,7 @@ #include "HiKeyDxeInternal.h" -#define SERIAL_NUMBER_LENGTH 16 +#define SERIAL_NUMBER_LENGTH 17 #define SERIAL_NUMBER_LBA 1024 #define SERIAL_NUMBER_BLOCK_SIZE 512 #define RANDOM_MAGIC 0x9a4dbeaf @@ -110,6 +110,8 @@ HiKeyInitSerialNo ( } CopyMem (mSerialNo, DefaultSerialNo, sizeof (DefaultSerialNo)); } else { + ZeroMem (DataUnicode, 32 * sizeof(CHAR16)); + ZeroMem (SerialNoUnicode, 32 * sizeof(CHAR16)); AsciiStrToUnicodeStr (Random->SerialNo, SerialNoUnicode); VariableSize = SERIAL_NUMBER_LENGTH * sizeof (CHAR16); Status = gRT->GetVariable ( @@ -151,6 +153,7 @@ GetSerialNo ( if (SerialNo == NULL) return EFI_INVALID_PARAMETER; VariableSize = SERIAL_NUMBER_LENGTH * sizeof (CHAR16); + ZeroMem (DataUnicode, 32 * sizeof(CHAR16)); Status = gRT->GetVariable ( (CHAR16 *)L"SerialNo", &gHiKeyVariableGuid, -- cgit v1.2.3