Revision: 18442
http://sourceforge.net/p/edk2/code/18442
Author: hwu1225
Date: 2015-09-11 03:13:01 +0000 (Fri, 11 Sep 2015)
Log Message:
-----------
ShellPkg: Fix 'for' command fail with multiple fields.
When multiple fields are found in 'for' command return invalid parameters error.
(Sync patch r18416 from main trunk.)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <[email protected]>
Reviewed-by: Jaben Carsey <[email protected]>
Revision Links:
--------------
http://sourceforge.net/p/edk2/code/18416
Modified Paths:
--------------
branches/UDK2015/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c
Modified: branches/UDK2015/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c
===================================================================
--- branches/UDK2015/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c
2015-09-11 00:52:51 UTC (rev 18441)
+++ branches/UDK2015/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c
2015-09-11 03:13:01 UTC (rev 18442)
@@ -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 {
------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits