]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ShellPkg: Add check for "dump" parameter in "bcfg" command
authorDandan Bi <dandan.bi@intel.com>
Thu, 25 Aug 2016 01:37:05 +0000 (09:37 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Thu, 1 Sep 2016 08:38:06 +0000 (16:38 +0800)
When user uses the command "bcfg driver|boot [dump [-v]]",
the number of command line value parameters (doesn't include the
flag) must be three. We can add this point to check whether using
this command correctly.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Tapan Shah <tapandshah@hpe.com>
ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.uni

index 9baeecc339ed3807cb105778d2af3b46ec9303c6..e2306bf469b32d13f23e9d19307ac66ce88fe9f5 100644 (file)
@@ -1296,6 +1296,10 @@ ShellCommandRunBcfg (
         CurrentParam = ShellCommandLineGetRawValue(Package, ParamNumber);\r
         if        (gUnicodeCollation->StriColl(gUnicodeCollation, (CHAR16*)CurrentParam, L"dump") == 0)    {\r
           CurrentOperation.Type = BcfgTypeDump;\r
+          if (ShellCommandLineGetCount(Package) > 3) {\r
+            ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellBcfgHiiHandle, L"bcfg");\r
+            ShellStatus = SHELL_INVALID_PARAMETER;\r
+          }\r
         } else if (ShellCommandLineGetFlag(Package, L"-v")) {\r
           ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellBcfgHiiHandle, L"bcfg", L"-v (without dump)");  \r
           ShellStatus = SHELL_INVALID_PARAMETER;\r
index 282494b2f45b039d456d13ea449edb8c23f1df20..7668e49390030649e6a7b2cc76752198249131c7 100644 (file)
@@ -1,7 +1,7 @@
 // /**\r
 //\r
 // (C) Copyright 2014-2015 Hewlett-Packard Development Company, L.P.<BR>\r
-// Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>\r
+// Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>\r
 // This program and the accompanying materials\r
 // are licensed and made available under the terms and conditions of the BSD License\r
 // which accompanies this distribution. The full text of the license may be found at\r
@@ -32,6 +32,7 @@
 #string STR_GEN_NO_DRIVER_BOOT    #language en-US "%H%s%N: Driver or Boot must be selected.\r\n"\r
 #string STR_GEN_BOOT_ONLY         #language en-US "%H%s%N: Boot must be selected for hot key options.\r\n"\r
 #string STR_GEN_TOO_FEW           #language en-US "%H%s%N: Too few arguments.\r\n"\r
+#string STR_GEN_TOO_MANY          #language en-US "%H%s%N: Too many arguments\r\n"\r
 #string STR_GEN_FILE_OPEN_FAIL    #language en-US "%H%s%N: Cannot open file - '%H%s%N'\r\n"\r
 #string STR_GEN_FIND_FAIL         #language en-US "%H%s%N: File not found - '%H%s%N'\r\n"\r
 #string STR_GEN_OUT_MEM           #language en-US "%H%s%N: Memory allocation was not successful.\r\n"\r