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