ShellPkg: BcfgDisplayDump(): fix reporting of OptionalData

In this cleaned up form of BcfgDisplayDump(), it is easier to see that the

  OptionalDataOffset <= BufferSize

expression, used to report whether optional data are *absent*, is
incorrect. For any well-formed EFI_LOAD_OPTION, this inequality always
holds.

Optional data are present exactly if

  OptionalDataOffset < BufferSize

therefore the absence condition is the negation of the above,

  OptionalDataOffset >= BufferSize

This patch fixes the bug where BCFG always reports "Optional- N", even if
optional data exist.

Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19715 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Laszlo Ersek 2016-01-21 18:40:30 +00:00 committed by lersek
parent 5a5a659092
commit 8989625304
1 changed files with 1 additions and 1 deletions

View File

@ -1133,7 +1133,7 @@ BcfgDisplayDump(
VariableName,
Description,
DevPathString,
OptionalDataOffset <= BufferSize ? L'N' : L'Y'
OptionalDataOffset >= BufferSize ? L'N' : L'Y'
);
if (VerboseOutput) {
for (LoopVar2 = OptionalDataOffset; LoopVar2 < BufferSize; LoopVar2++){