From c960bdc2dcfad4ececbe208fbe3a25adea6dceea Mon Sep 17 00:00:00 2001 From: Zhang Lubo Date: Wed, 8 Jul 2015 12:17:11 +0000 Subject: NetworkPkg:Replace unsafe string functions. Replace unsafe string functions with new added safe string functions. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Zhang Lubo Reviewed-by: Fu Siyuan Reviewed-by: Qiu Shumin Reviewed-by: Jaben Carsey git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17887 6f19259b-4bc3-4df7-8a09-765794883524 --- NetworkPkg/Application/IfConfig6/IfConfig6.c | 15 +++++---------- NetworkPkg/Application/IpsecConfig/Indexer.c | 4 ++-- NetworkPkg/Application/IpsecConfig/PolicyEntryOperation.c | 6 +++--- 3 files changed, 10 insertions(+), 15 deletions(-) (limited to 'NetworkPkg/Application') diff --git a/NetworkPkg/Application/IfConfig6/IfConfig6.c b/NetworkPkg/Application/IfConfig6/IfConfig6.c index 9e228ca7bc..4cec44f8d5 100644 --- a/NetworkPkg/Application/IfConfig6/IfConfig6.c +++ b/NetworkPkg/Application/IfConfig6/IfConfig6.c @@ -1,7 +1,7 @@ /** @file The implementation for Shell application IfConfig6. - Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -127,16 +127,15 @@ SplitStrToList ( ARG_LIST *ArgList; ARG_LIST *ArgNode; - if (*String == L'\0') { + if (*String == L'\0' || *String == NULL) { return NULL; } // // Copy the CONST string to a local copy. // - Str = (CHAR16 *) AllocateZeroPool (StrSize (String)); + Str = AllocateCopyPool (StrSize (String), String); ASSERT (Str != NULL); - Str = StrnCpy (Str, String, StrLen (String)); ArgStr = Str; // @@ -1717,10 +1716,8 @@ IfConfig6Initialize ( Private->OpCode = IfConfig6OpList; ValueStr = ShellCommandLineGetValue (ParamPackage, L"-l"); if (ValueStr != NULL) { - Str = (CHAR16 *) AllocateZeroPool (StrSize (ValueStr)); + Str = AllocateCopyPool (StrSize (ValueStr), ValueStr); ASSERT (Str != NULL); - - Str = StrnCpy (Str, ValueStr, StrLen (ValueStr)); Private->IfName = Str; } } @@ -1731,10 +1728,8 @@ IfConfig6Initialize ( Private->OpCode = IfConfig6OpClear; ValueStr = ShellCommandLineGetValue (ParamPackage, L"-r"); if (ValueStr != NULL) { - Str = (CHAR16 *) AllocateZeroPool (StrSize (ValueStr)); + Str = AllocateCopyPool (StrSize (ValueStr), ValueStr); ASSERT (Str != NULL); - - Str = StrnCpy (Str, ValueStr, StrLen (ValueStr)); Private->IfName = Str; } } diff --git a/NetworkPkg/Application/IpsecConfig/Indexer.c b/NetworkPkg/Application/IpsecConfig/Indexer.c index 9e066b1cb5..83ceda4b57 100644 --- a/NetworkPkg/Application/IpsecConfig/Indexer.c +++ b/NetworkPkg/Application/IpsecConfig/Indexer.c @@ -1,7 +1,7 @@ /** @file The implementation of construct ENTRY_INDEXER in IpSecConfig application. - Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -235,7 +235,7 @@ ConstructPadIndexer ( Indexer->PadId.PeerIdValid = TRUE; ZeroMem (Indexer->PadId.Id.PeerId, MAX_PEERID_LEN); - StrnCpy ((CHAR16 *) Indexer->PadId.Id.PeerId, ValueStr, ARRAY_SIZE (Indexer->PadId.Id.PeerId) - 1); + StrnCpyS ((CHAR16 *) Indexer->PadId.Id.PeerId, MAX_PEERID_LEN / sizeof (CHAR16), ValueStr, MAX_PEERID_LEN / sizeof (CHAR16) - 1); } } diff --git a/NetworkPkg/Application/IpsecConfig/PolicyEntryOperation.c b/NetworkPkg/Application/IpsecConfig/PolicyEntryOperation.c index 7e04573022..970caa16ca 100644 --- a/NetworkPkg/Application/IpsecConfig/PolicyEntryOperation.c +++ b/NetworkPkg/Application/IpsecConfig/PolicyEntryOperation.c @@ -1,7 +1,7 @@ /** @file The implementation of policy entry operation function in IpSecConfig application. - Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -1104,7 +1104,7 @@ CreatePadEntry ( ValueStr = ShellCommandLineGetValue (ParamPackage, L"--peer-id"); if (ValueStr != NULL) { (*PadId)->PeerIdValid = TRUE; - StrnCpy ((CHAR16 *) (*PadId)->Id.PeerId, ValueStr, ARRAY_SIZE ((*PadId)->Id.PeerId) - 1); + StrnCpyS ((CHAR16 *) (*PadId)->Id.PeerId, MAX_PEERID_LEN / sizeof (CHAR16), ValueStr, MAX_PEERID_LEN / sizeof (CHAR16) - 1); *Mask |= PEER_ID; } @@ -1399,7 +1399,7 @@ CombineSpdEntry ( // Process Data // if ((Mask & NAME) != 0) { - AsciiStrCpy ((CHAR8 *) OldData->Name, (CHAR8 *) NewData->Name); + AsciiStrCpyS ((CHAR8 *) OldData->Name, MAX_PEERID_LEN, (CHAR8 *) NewData->Name); } if ((Mask & PACKET_FLAG) != 0) { -- cgit v1.2.3