summaryrefslogtreecommitdiff
path: root/ShellPkg
diff options
context:
space:
mode:
authorHeyi Guo <heyi.guo@linaro.org>2015-07-04 02:26:54 +0000
committershenshushi <shenshushi@Edk2>2015-07-04 02:26:54 +0000
commita5e28cc1d03d762b5c87b08da9e614022dea5eb2 (patch)
treebbe68dde1d2c158e3ac9c7c363127d15c904c192 /ShellPkg
parentcc976d20ffbab731ef6db7e3baa485de825d4b7e (diff)
downloadedk2-platforms-a5e28cc1d03d762b5c87b08da9e614022dea5eb2.tar.xz
ShellPkg: Fix bug introduced by r17730.
CurrentFilePattern is only part of FilePattern and will be less than or equal to FilePattern. If we use StrCpyS to replace StrnCpy, it will cause assert when FilePattern is longer. The bug can be replayed when we cd to one directory and run ls command. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Heyi Guo <heyi.guo@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Qiu Shumin <shumin.qiu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17821 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ShellPkg')
-rw-r--r--ShellPkg/Application/Shell/ShellProtocol.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ShellPkg/Application/Shell/ShellProtocol.c b/ShellPkg/Application/Shell/ShellProtocol.c
index 249e1e19d8..6a248522b5 100644
--- a/ShellPkg/Application/Shell/ShellProtocol.c
+++ b/ShellPkg/Application/Shell/ShellProtocol.c
@@ -2220,7 +2220,7 @@ ShellSearchHandle(
CurrentFilePattern = AllocateZeroPool((NextFilePatternStart-FilePattern+1)*sizeof(CHAR16));
ASSERT(CurrentFilePattern != NULL);
- StrCpyS(CurrentFilePattern, NextFilePatternStart-FilePattern+1, FilePattern);
+ StrnCpyS(CurrentFilePattern, NextFilePatternStart-FilePattern+1, FilePattern, NextFilePatternStart-FilePattern);
if (CurrentFilePattern[0] == CHAR_NULL
&&NextFilePatternStart[0] == CHAR_NULL