Discussion:
[edk2] [PATCH 10/13] MdeModulePkg/Universal/PCD: Use safe string functions to refine code.
Qiu Shumin
2015-06-25 07:47:02 UTC
Permalink
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <***@intel.com>
---
MdeModulePkg/Universal/PCD/Dxe/Service.c | 4 ++--
MdeModulePkg/Universal/PCD/Pei/Service.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/MdeModulePkg/Universal/PCD/Dxe/Service.c b/MdeModulePkg/Universal/PCD/Dxe/Service.c
index cf5f244..23f304e 100644
--- a/MdeModulePkg/Universal/PCD/Dxe/Service.c
+++ b/MdeModulePkg/Universal/PCD/Dxe/Service.c
@@ -193,9 +193,9 @@ GetPcdName (
//
// Catenate TokenSpaceCName and PcdCName with a '.' to form the full PCD name.
//
- AsciiStrCat (Name, TokenSpaceName);
+ AsciiStrCatS (Name, AsciiStrSize (TokenSpaceName) + AsciiStrSize (PcdName), TokenSpaceName);
Name[AsciiStrSize (TokenSpaceName) - sizeof (CHAR8)] = '.';
- AsciiStrCat (Name, PcdName);
+ AsciiStrCatS (Name, AsciiStrSize (TokenSpaceName) + AsciiStrSize (PcdName), PcdName);
}

return Name;
diff --git a/MdeModulePkg/Universal/PCD/Pei/Service.c b/MdeModulePkg/Universal/PCD/Pei/Service.c
index 83309a6..59aca25 100644
--- a/MdeModulePkg/Universal/PCD/Pei/Service.c
+++ b/MdeModulePkg/Universal/PCD/Pei/Service.c
@@ -149,9 +149,9 @@ GetPcdName (
//
// Catenate TokenSpaceCName and PcdCName with a '.' to form the full PCD name.
//
- AsciiStrCat (Name, TokenSpaceName);
+ AsciiStrCatS (Name, AsciiStrSize (TokenSpaceName) + AsciiStrSize (PcdName), TokenSpaceName);
Name[AsciiStrSize (TokenSpaceName) - sizeof (CHAR8)] = '.';
- AsciiStrCat (Name, PcdName);
+ AsciiStrCatS (Name, AsciiStrSize (TokenSpaceName) + AsciiStrSize (PcdName), PcdName);
}

return Name;
--
1.9.5.msysgit.1
Zeng, Star
2015-06-25 09:27:37 UTC
Permalink
The logic is good to me. One minor comment below.

How about save "AsciiStrSize (TokenSpaceName) + AsciiStrSize (PcdName)" to one local variable, for example:

UINTN NameSize;
...
NameSize = AsciiStrSize (TokenSpaceName) + AsciiStrSize (PcdName);


Thanks,
Star
-----Original Message-----
From: Qiu, Shumin
Sent: Thursday, June 25, 2015 3:47 PM
To: edk2-***@lists.sourceforge.net
Cc: Zeng, Star; Fan, Jeff; Gao, Liming; Ni, Ruiyu; Tian, Feng
Subject: [PATCH 10/13] MdeModulePkg/Universal/PCD: Use safe string functions to refine code.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <***@intel.com>
---
MdeModulePkg/Universal/PCD/Dxe/Service.c | 4 ++-- MdeModulePkg/Universal/PCD/Pei/Service.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/MdeModulePkg/Universal/PCD/Dxe/Service.c b/MdeModulePkg/Universal/PCD/Dxe/Service.c
index cf5f244..23f304e 100644
--- a/MdeModulePkg/Universal/PCD/Dxe/Service.c
+++ b/MdeModulePkg/Universal/PCD/Dxe/Service.c
@@ -193,9 +193,9 @@ GetPcdName (
//
// Catenate TokenSpaceCName and PcdCName with a '.' to form the full PCD name.
//
- AsciiStrCat (Name, TokenSpaceName);
+ AsciiStrCatS (Name, AsciiStrSize (TokenSpaceName) + AsciiStrSize
+ (PcdName), TokenSpaceName);
Name[AsciiStrSize (TokenSpaceName) - sizeof (CHAR8)] = '.';
- AsciiStrCat (Name, PcdName);
+ AsciiStrCatS (Name, AsciiStrSize (TokenSpaceName) + AsciiStrSize
+ (PcdName), PcdName);
}

return Name;
diff --git a/MdeModulePkg/Universal/PCD/Pei/Service.c b/MdeModulePkg/Universal/PCD/Pei/Service.c
index 83309a6..59aca25 100644
--- a/MdeModulePkg/Universal/PCD/Pei/Service.c
+++ b/MdeModulePkg/Universal/PCD/Pei/Service.c
@@ -149,9 +149,9 @@ GetPcdName (
//
// Catenate TokenSpaceCName and PcdCName with a '.' to form the full PCD name.
//
- AsciiStrCat (Name, TokenSpaceName);
+ AsciiStrCatS (Name, AsciiStrSize (TokenSpaceName) + AsciiStrSize
+ (PcdName), TokenSpaceName);
Name[AsciiStrSize (TokenSpaceName) - sizeof (CHAR8)] = '.';
- AsciiStrCat (Name, PcdName);
+ AsciiStrCatS (Name, AsciiStrSize (TokenSpaceName) + AsciiStrSize
+ (PcdName), PcdName);
}

return Name;
--
1.9.5.msysgit.1

Loading...