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
This commit is contained in:
Tapan Shah 2014-09-12 16:46:23 +00:00 committed by jcarsey
parent 84cc912aee
commit cfffccd9df
1 changed files with 3 additions and 2 deletions

View File

@ -1,6 +1,7 @@
/** @file /** @file
Main file for BCFG command. 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> Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
@ -1353,7 +1354,7 @@ ShellCommandRunBcfg (
} else { } else {
Status = ShellConvertStringToUint64(CurrentParam, &Intermediate, TRUE, FALSE); Status = ShellConvertStringToUint64(CurrentParam, &Intermediate, TRUE, FALSE);
CurrentOperation.Number1 = (UINT16)Intermediate; CurrentOperation.Number1 = (UINT16)Intermediate;
if (CurrentOperation.Number1 > Count){ if (CurrentOperation.Number1 >= Count){
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_BCFG_NUMB_RANGE), gShellBcfgHiiHandle, Count); ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_BCFG_NUMB_RANGE), gShellBcfgHiiHandle, Count);
ShellStatus = SHELL_INVALID_PARAMETER; ShellStatus = SHELL_INVALID_PARAMETER;
} }
@ -1371,7 +1372,7 @@ ShellCommandRunBcfg (
} else { } else {
Status = ShellConvertStringToUint64(CurrentParam, &Intermediate, TRUE, FALSE); Status = ShellConvertStringToUint64(CurrentParam, &Intermediate, TRUE, FALSE);
CurrentOperation.Number1 = (UINT16)Intermediate; CurrentOperation.Number1 = (UINT16)Intermediate;
if (CurrentOperation.Number1 > Count){ if (CurrentOperation.Number1 >= Count){
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_BCFG_NUMB_RANGE), gShellBcfgHiiHandle, Count); ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_BCFG_NUMB_RANGE), gShellBcfgHiiHandle, Count);
ShellStatus = SHELL_INVALID_PARAMETER; ShellStatus = SHELL_INVALID_PARAMETER;
} else { } else {