]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ShellPkg: Refine code to make catenae length more precise.
authorQiu Shumin <shumin.qiu@intel.com>
Tue, 30 Jun 2015 20:15:15 +0000 (20:15 +0000)
committershenshushi <shenshushi@Edk2>
Tue, 30 Jun 2015 20:15:15 +0000 (20:15 +0000)
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 <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17747 6f19259b-4bc3-4df7-8a09-765794883524

ShellPkg/Application/Shell/FileHandleWrappers.c

index fc68b78d5752f1a94a5929a34ecea9d8685dc821..8a71502459995bd18bd8c6ecf0ae32b2ff1850c5 100644 (file)
@@ -516,11 +516,11 @@ FileInterfaceStdInRead(
             StrnCatS( TabStr, \r
                       (*BufferSize)/sizeof(CHAR16), \r
                       CurrentString + TabPos, \r
-                      (StringLen - TabPos) * sizeof (CHAR16)\r
+                      StringLen - TabPos\r
                       );\r
           } else {\r
             *TabStr = CHAR_NULL;\r
-            StrnCatS(TabStr, (*BufferSize)/sizeof(CHAR16), CurrentString + TabPos, (StringLen - TabPos) * sizeof (CHAR16));\r
+            StrnCatS(TabStr, (*BufferSize)/sizeof(CHAR16), CurrentString + TabPos, StringLen - TabPos);\r
           }\r
         } else {\r
           StrCpyS(TabStr, (*BufferSize)/sizeof(CHAR16), CurrentString + TabPos);\r