This patch replaces StrCat with StrnCat or refactors out the usage of StrCat through some other means.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16002
6f19259b-4bc3-4df7-8a09-
765794883524
// specific has priority\r
//\r
if (Specific != NULL) {\r
// specific has priority\r
//\r
if (Specific != NULL) {\r
- NewSpecific = AllocateZeroPool(StrSize(Specific) + sizeof(CHAR16));\r
+ NewSpecific = AllocateCopyPool(StrSize(Specific) + sizeof(CHAR16), Specific);\r
if (NewSpecific == NULL){\r
return FALSE;\r
}\r
if (NewSpecific == NULL){\r
return FALSE;\r
}\r
- StrCpy(NewSpecific, Specific);\r
if (NewSpecific[StrLen(NewSpecific)-1] != L':') {\r
if (NewSpecific[StrLen(NewSpecific)-1] != L':') {\r
- StrCat(NewSpecific, L":");\r
+ StrnCat(NewSpecific, L":", 2);\r
}\r
\r
if (SearchList(MapList, NewSpecific, NULL, TRUE, FALSE, L";")) {\r
}\r
\r
if (SearchList(MapList, NewSpecific, NULL, TRUE, FALSE, L";")) {\r
EFI_STATUS Status;\r
CHAR16 *NewSName;\r
\r
EFI_STATUS Status;\r
CHAR16 *NewSName;\r
\r
- NewSName = AllocateZeroPool(StrSize(SName) + sizeof(CHAR16));\r
+ NewSName = AllocateCopyPool(StrSize(SName) + sizeof(CHAR16), SName);\r
if (NewSName == NULL) {\r
return (SHELL_OUT_OF_RESOURCES);\r
}\r
if (NewSName == NULL) {\r
return (SHELL_OUT_OF_RESOURCES);\r
}\r
- StrCpy(NewSName, SName);\r
if (NewSName[StrLen(NewSName)-1] != L':') {\r
if (NewSName[StrLen(NewSName)-1] != L':') {\r
- StrCat(NewSName, L":");\r
+ StrnCat(NewSName, L":", 2);\r
}\r
\r
if (!IsNumberLetterOnly(NewSName, StrLen(NewSName)-1)) {\r
}\r
\r
if (!IsNumberLetterOnly(NewSName, StrLen(NewSName)-1)) {\r
EFI_STATUS Status;\r
CHAR16 *NewSName;\r
\r
EFI_STATUS Status;\r
CHAR16 *NewSName;\r
\r
- NewSName = AllocateZeroPool(StrSize(SName) + sizeof(CHAR16));\r
+ NewSName = AllocateCopyPool(StrSize(SName) + sizeof(CHAR16), SName);\r
if (NewSName == NULL) {\r
return (SHELL_OUT_OF_RESOURCES);\r
}\r
if (NewSName == NULL) {\r
return (SHELL_OUT_OF_RESOURCES);\r
}\r
- StrCpy(NewSName, SName);\r
if (NewSName[StrLen(NewSName)-1] != L':') {\r
if (NewSName[StrLen(NewSName)-1] != L':') {\r
- StrCat(NewSName, L":");\r
+ StrnCat(NewSName, L":", 2);\r
}\r
\r
if (!IsNumberLetterOnly(NewSName, StrLen(NewSName)-1)) {\r
}\r
\r
if (!IsNumberLetterOnly(NewSName, StrLen(NewSName)-1)) {\r
EFI_STATUS Status;\r
SHELL_PROMPT_RESPONSE *Resp;\r
CHAR16 *TempName;\r
EFI_STATUS Status;\r
SHELL_PROMPT_RESPONSE *Resp;\r
CHAR16 *TempName;\r
\r
Resp = NULL;\r
ShellStatus = SHELL_SUCCESS;\r
\r
Resp = NULL;\r
ShellStatus = SHELL_SUCCESS;\r
//\r
// Update the node filename to have full path with file system identifier\r
//\r
//\r
// Update the node filename to have full path with file system identifier\r
//\r
- TempName = AllocateZeroPool(StrSize(Node->FullName) + StrSize(Node2->FullName));\r
+ NewSize = StrSize(Node->FullName) + StrSize(Node2->FullName);\r
+ TempName = AllocateZeroPool(NewSize);\r
if (TempName == NULL) {\r
ShellStatus = SHELL_OUT_OF_RESOURCES;\r
} else {\r
if (TempName == NULL) {\r
ShellStatus = SHELL_OUT_OF_RESOURCES;\r
} else {\r
- StrCpy(TempName, Node->FullName);\r
+ StrnCpy(TempName, Node->FullName, NewSize/sizeof(CHAR16) -1);\r
TempName[StrStr(TempName, L":")+1-TempName] = CHAR_NULL;\r
TempName[StrStr(TempName, L":")+1-TempName] = CHAR_NULL;\r
- StrCat(TempName, Node2->FullName);\r
+ StrnCat(TempName, Node2->FullName, NewSize/sizeof(CHAR16) -1 - StrLen(TempName));\r
FreePool((VOID*)Node2->FullName);\r
Node2->FullName = TempName;\r
\r
FreePool((VOID*)Node2->FullName);\r
Node2->FullName = TempName;\r
\r