From 6956ecfe1e70f241f2a861520568bd1c6639ba54 Mon Sep 17 00:00:00 2001 From: Qiu Shumin Date: Tue, 30 Jun 2015 20:15:15 +0000 Subject: ShellPkg: Refine code to make catenae length more precise. This commit refine the catenae length. A too long catenae length in StrnCat may cause potential buffer overflow while in StrnCatS it may ASSERT. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin Reviewed-by: Jaben Carsey git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17747 6f19259b-4bc3-4df7-8a09-765794883524 --- ShellPkg/Application/Shell/FileHandleWrappers.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'ShellPkg') diff --git a/ShellPkg/Application/Shell/FileHandleWrappers.c b/ShellPkg/Application/Shell/FileHandleWrappers.c index fc68b78d57..8a71502459 100644 --- a/ShellPkg/Application/Shell/FileHandleWrappers.c +++ b/ShellPkg/Application/Shell/FileHandleWrappers.c @@ -516,11 +516,11 @@ FileInterfaceStdInRead( StrnCatS( TabStr, (*BufferSize)/sizeof(CHAR16), CurrentString + TabPos, - (StringLen - TabPos) * sizeof (CHAR16) + StringLen - TabPos ); } else { *TabStr = CHAR_NULL; - StrnCatS(TabStr, (*BufferSize)/sizeof(CHAR16), CurrentString + TabPos, (StringLen - TabPos) * sizeof (CHAR16)); + StrnCatS(TabStr, (*BufferSize)/sizeof(CHAR16), CurrentString + TabPos, StringLen - TabPos); } } else { StrCpyS(TabStr, (*BufferSize)/sizeof(CHAR16), CurrentString + TabPos); -- cgit v1.2.3