Re: [PATCH] NetworkPkg: Fix incorrect unicode string of the AKM/Cipher Suite


Heng Luo
 

Dear maintainers,
Could you review this patch?

Thanks,
heng

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Heng Luo
Sent: Wednesday, January 26, 2022 1:12 PM
To: devel@edk2.groups.io
Cc: Maciej Rabeda <maciej.rabeda@...>; Fu, Siyuan
<siyuan.fu@...>; Wu, Jiaxin <jiaxin.wu@...>
Subject: [edk2-devel] [PATCH] NetworkPkg: Fix incorrect unicode string of the
AKM/Cipher Suite

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@...>
Cc: Fu Siyuan <siyuan.fu@...>
Cc: Wu Jiaxin <jiaxin.wu@...>
Signed-off-by: Heng Luo <heng.luo@...>
---

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/WifiConnectionMgrHiiConfigAcce
+++ ss.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




Join devel@edk2.groups.io to automatically receive all group messages.