NetworkPkg/WifiConnectionManagerDxe/WifiConnectionMgrHiiConfigAccess.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-)
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.rabeda@linux.intel.com>
Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Signed-off-by: Heng Luo <heng.luo@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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Hi Heng, Thanks for the patch. Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com> W dniu 26-Jan-22 o 06:12, Heng Luo pisze: > 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.rabeda@linux.intel.com> > Cc: Fu Siyuan <siyuan.fu@intel.com> > Cc: Wu Jiaxin <jiaxin.wu@intel.com> > Signed-off-by: Heng Luo <heng.luo@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 > ); -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#86828): https://edk2.groups.io/g/devel/message/86828 Mute This Topic: https://groups.io/mt/88690749/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2024 Red Hat, Inc.