summaryrefslogtreecommitdiffstats
path: root/ShellPkg/Library/UefiShellLib/UefiShellLib.c
diff options
context:
space:
mode:
authorQiu Shumin <shumin.qiu@intel.com>2015-07-02 01:12:03 +0000
committershenshushi <shenshushi@Edk2>2015-07-02 01:12:03 +0000
commitc587fd3eddce6532b3b71bf80a9cf0d70b7f45e7 (patch)
treed9e46e043ffccb991f883eb0be41a7b4b51463b9 /ShellPkg/Library/UefiShellLib/UefiShellLib.c
parent3735017c6eb43381f0d9bd572bce141780d33c79 (diff)
downloadedk2-c587fd3eddce6532b3b71bf80a9cf0d70b7f45e7.tar.gz
edk2-c587fd3eddce6532b3b71bf80a9cf0d70b7f45e7.tar.bz2
edk2-c587fd3eddce6532b3b71bf80a9cf0d70b7f45e7.zip
ShellPkg: Refine the code logic of StrnCatGrow.
In order to indicate the catena length use StrnCatS instead of StrCatS to generate Destination string, and update the DestMax of Destination string. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin <shumin.qiu@intel.com> Reviewed-by: Tapan Shah <tapandshah@hp.com> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17795 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ShellPkg/Library/UefiShellLib/UefiShellLib.c')
-rw-r--r--ShellPkg/Library/UefiShellLib/UefiShellLib.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ShellPkg/Library/UefiShellLib/UefiShellLib.c b/ShellPkg/Library/UefiShellLib/UefiShellLib.c
index 5b4c6d3fb7..3521515468 100644
--- a/ShellPkg/Library/UefiShellLib/UefiShellLib.c
+++ b/ShellPkg/Library/UefiShellLib/UefiShellLib.c
@@ -3254,7 +3254,8 @@ StrnCatGrow (
*CurrentSize = NewSize;
}
} else {
- *Destination = AllocateZeroPool((Count+1)*sizeof(CHAR16));
+ NewSize = (Count+1)*sizeof(CHAR16);
+ *Destination = AllocateZeroPool(NewSize);
}
//
@@ -3264,7 +3265,7 @@ StrnCatGrow (
return (NULL);
}
- StrCatS(*Destination, Count + 1, Source);
+ StrnCatS(*Destination, NewSize/sizeof(CHAR16), Source, Count);
return *Destination;
}