ShellPkg: Fix ASSERT when bcfg moving boot option with source location = total number of boot options
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Tapan Shah <tapandshah@hp.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16102 6f19259b-4bc3-4df7-8a09-765794883524
diff --git a/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c b/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
index d62b569..a0cb2da 100644
--- a/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
+++ b/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c
@@ -1,6 +1,7 @@
 /** @file

   Main file for BCFG command.

 

+  Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR>

   Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>

   This program and the accompanying materials

   are licensed and made available under the terms and conditions of the BSD License

@@ -1353,7 +1354,7 @@
           } else {

             Status = ShellConvertStringToUint64(CurrentParam, &Intermediate, TRUE, FALSE);

             CurrentOperation.Number1     = (UINT16)Intermediate;

-            if (CurrentOperation.Number1 > Count){

+            if (CurrentOperation.Number1 >= Count){

               ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_BCFG_NUMB_RANGE), gShellBcfgHiiHandle, Count);

               ShellStatus = SHELL_INVALID_PARAMETER;

             }

@@ -1371,7 +1372,7 @@
           } else {

             Status = ShellConvertStringToUint64(CurrentParam, &Intermediate, TRUE, FALSE);

             CurrentOperation.Number1     = (UINT16)Intermediate;

-            if (CurrentOperation.Number1 > Count){

+            if (CurrentOperation.Number1 >= Count){

               ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_BCFG_NUMB_RANGE), gShellBcfgHiiHandle, Count);

               ShellStatus = SHELL_INVALID_PARAMETER;

             } else {