Reviewed-by: Jaben Carsey <jaben.car...@intel.com>

> -----Original Message-----
> From: Qiu, Shumin
> Sent: Sunday, September 06, 2015 8:06 PM
> To: edk2-devel@lists.01.org
> Cc: Qiu, Shumin <shumin....@intel.com>; Carsey, Jaben
> <jaben.car...@intel.com>
> Subject: [PATCH 1/2] ShellPkg: Fix 'for' command fail with multiple fields.
> Importance: High
> 
> When multiple fields are found in 'for' command return invalid parameters
> error.
> 
> Cc: Jaben Carsey <jaben.car...@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Qiu Shumin <shumin....@intel.com>
> ---
>  ShellPkg/Library/UefiShellLevel1CommandsLib/For.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c
> b/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c
> index 2ecc5cd..cbf0517 100644
> --- a/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c
> +++ b/ShellPkg/Library/UefiShellLevel1CommandsLib/For.c
> @@ -438,6 +438,11 @@ ShellCommandRunFor (
>          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 {
> --
> 1.9.5.msysgit.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to