Revision: 18416
          http://sourceforge.net/p/edk2/code/18416
Author:   shenshushi
Date:     2015-09-09 04:57:05 +0000 (Wed, 09 Sep 2015)
Log Message:
-----------
ShellPkg: Fix 'for' command fail with multiple fields.

When multiple fields are found in 'for' command return invalid parameters error.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin....@intel.com>
Reviewed-by: Jaben Carsey <jaben.car...@intel.com>

Modified Paths:
--------------
    trunk/edk2/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c

Modified: trunk/edk2/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c
===================================================================
--- trunk/edk2/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c        
2015-09-08 08:28:56 UTC (rev 18415)
+++ trunk/edk2/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c        
2015-09-09 04:57:05 UTC (rev 18416)
@@ -438,6 +438,11 @@
         gEfiShellParametersProtocol->Argv[2]) == 0) {
       for (LoopVar = 0x3 ; LoopVar < gEfiShellParametersProtocol->Argc ; 
LoopVar++) {
         ASSERT((ArgSet == NULL && ArgSize == 0) || (ArgSet != NULL));
+        if (StrStr (gEfiShellParametersProtocol->Argv[LoopVar], L")") != NULL 
&&
+            (LoopVar + 1) < gEfiShellParametersProtocol->Argc
+           ) {
+          return (SHELL_INVALID_PARAMETER);
+        }
         if (ArgSet == NULL) {
 //        ArgSet = StrnCatGrow(&ArgSet, &ArgSize, L"\"", 0);
         } else {


------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
edk2-commits mailing list
edk2-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to