REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3813
The size of buffer should be 3 CHAR16 for Null-terminated Unicode string. The first char is the AKM/Cipher Suite number, the second char is ' ', the third char is '\0'. Cc: Maciej Rabeda <maciej.rab...@linux.intel.com> Cc: Fu Siyuan <siyuan...@intel.com> Cc: Wu Jiaxin <jiaxin...@intel.com> Signed-off-by: Heng Luo <heng....@intel.com> --- NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrHiiConfigAccess.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrHiiConfigAccess.c b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrHiiConfigAccess.c index b49825bcb7..7cb2bfc281 100644 --- a/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrHiiConfigAccess.c +++ b/NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrHiiConfigAccess.c @@ -280,12 +280,16 @@ WifiMgrGetStrAKMList ( // // Current AKM Suite is between 1-9 // - AKMListDisplay = (CHAR16 *)AllocateZeroPool (sizeof (CHAR16) * AKMSuiteCount * 2); + AKMListDisplay = (CHAR16 *)AllocateZeroPool (sizeof (CHAR16) * (AKMSuiteCount * 2 + 1)); if (AKMListDisplay != NULL) { for (Index = 0; Index < AKMSuiteCount; Index++) { + // + // The size of buffer should be 3 CHAR16 for Null-terminated Unicode string. + // The first char is the AKM Suite number, the second char is ' ', the third char is '\0'. + // UnicodeSPrint ( AKMListDisplay + (Index * 2), - sizeof (CHAR16) * 2, + sizeof (CHAR16) * 3, L"%d ", Profile->Network.AKMSuite->AKMSuiteList[Index].SuiteType ); @@ -333,12 +337,16 @@ WifiMgrGetStrCipherList ( // // Current Cipher Suite is between 1-9 // - CipherListDisplay = (CHAR16 *)AllocateZeroPool (sizeof (CHAR16) * CipherSuiteCount * 2); + CipherListDisplay = (CHAR16 *)AllocateZeroPool (sizeof (CHAR16) * (CipherSuiteCount * 2 + 1)); if (CipherListDisplay != NULL) { for (Index = 0; Index < CipherSuiteCount; Index++) { + // + // The size of buffer should be 3 CHAR16 for Null-terminated Unicode string. + // The first char is the Cipher Suite number, the second char is ' ', the third char is '\0'. + // UnicodeSPrint ( CipherListDisplay + (Index * 2), - sizeof (CHAR16) * 2, + sizeof (CHAR16) * 3, L"%d ", Profile->Network.CipherSuite->CipherSuiteList[Index].SuiteType ); -- 2.31.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#86076): https://edk2.groups.io/g/devel/message/86076 Mute This Topic: https://groups.io/mt/88690749/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-