Revision: 17786
          http://sourceforge.net/p/edk2/code/17786
Author:   shenshushi
Date:     2015-07-01 08:27:03 +0000 (Wed, 01 Jul 2015)
Log Message:
-----------
MdeModulePkg/Universal/PCD: Use safe string functions to refine code.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin....@intel.com>
Reviewed-by: Star Zeng <star.z...@intel.com>

Modified Paths:
--------------
    trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Service.c
    trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Service.c

Modified: trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Service.c
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Service.c 2015-07-01 08:25:33 UTC 
(rev 17785)
+++ trunk/edk2/MdeModulePkg/Universal/PCD/Dxe/Service.c 2015-07-01 08:27:03 UTC 
(rev 17786)
@@ -142,6 +142,7 @@
 {
   PCD_DATABASE_INIT *Database;
   UINT8             *StringTable;
+  UINTN             NameSize;
   PCD_NAME_INDEX    *PcdNameIndex;
   CHAR8             *TokenSpaceName;
   CHAR8             *PcdName;
@@ -188,14 +189,15 @@
     //
     // Need to get the full PCD name.
     //
-    Name = AllocateZeroPool (AsciiStrSize (TokenSpaceName) + AsciiStrSize 
(PcdName));
+    NameSize = AsciiStrSize (TokenSpaceName) + AsciiStrSize (PcdName);
+    Name = AllocateZeroPool (NameSize);
     ASSERT (Name != NULL);
     //
     // Catenate TokenSpaceCName and PcdCName with a '.' to form the full PCD 
name.
     //
-    AsciiStrCat (Name, TokenSpaceName);
+    AsciiStrCatS (Name, NameSize, TokenSpaceName);
     Name[AsciiStrSize (TokenSpaceName) - sizeof (CHAR8)] = '.';
-    AsciiStrCat (Name, PcdName);  
+    AsciiStrCatS (Name, NameSize, PcdName);  
   }
 
   return Name;

Modified: trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Service.c
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Service.c 2015-07-01 08:25:33 UTC 
(rev 17785)
+++ trunk/edk2/MdeModulePkg/Universal/PCD/Pei/Service.c 2015-07-01 08:27:03 UTC 
(rev 17786)
@@ -107,6 +107,7 @@
   )
 {
   UINT8             *StringTable;
+  UINTN             NameSize;
   PCD_NAME_INDEX    *PcdNameIndex;
   CHAR8             *TokenSpaceName;
   CHAR8             *PcdName;
@@ -144,14 +145,15 @@
     //
     // Need to get the full PCD name.
     //
-    Name = AllocateZeroPool (AsciiStrSize (TokenSpaceName) + AsciiStrSize 
(PcdName));
+    NameSize = AsciiStrSize (TokenSpaceName) + AsciiStrSize (PcdName);
+    Name = AllocateZeroPool (NameSize);
     ASSERT (Name != NULL);
     //
     // Catenate TokenSpaceCName and PcdCName with a '.' to form the full PCD 
name.
     //
-    AsciiStrCat (Name, TokenSpaceName);
+    AsciiStrCatS (Name, NameSize, TokenSpaceName);
     Name[AsciiStrSize (TokenSpaceName) - sizeof (CHAR8)] = '.';
-    AsciiStrCat (Name, PcdName);  
+    AsciiStrCatS (Name, NameSize, PcdName);  
   }
 
   return Name;


------------------------------------------------------------------------------
Don't Limit Your Business. Reach for the Cloud.
GigeNET's Cloud Solutions provide you with the tools and support that
you need to offload your IT needs and focus on growing your business.
Configured For All Businesses. Start Your Cloud Today.
https://www.gigenetcloud.com/
_______________________________________________
edk2-commits mailing list
edk2-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to