Hi Heng,

Thanks for the patch.
Reviewed-by: Maciej Rabeda <maciej.rab...@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.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
            );



-=-=-=-=-=-=-=-=-=-=-=-
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/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to