The Buffer variable points at the beginning of an EFI_LOAD_OPTION structure. We might as well address the "FilePathListLength" member by name, rather than with *(UINT16*)(Buffer+4).
This patch is not supposed to change behavior. Cc: Jaben Carsey <jaben.car...@intel.com> Cc: Ryan Harkin <ryan.har...@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <ler...@redhat.com> --- ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c b/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c index 9955c9e..b08aac1 100644 --- a/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c +++ b/ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.c @@ -1108,11 +1108,12 @@ BcfgDisplayDump( ++Errors; goto Cleanup; } + LoadOption = (EFI_LOAD_OPTION *)Buffer; - if ((*(UINT16*)(Buffer+4)) != 0) { - DevPath = AllocateZeroPool(*(UINT16*)(Buffer+4)); + if (LoadOption->FilePathListLength != 0) { + DevPath = AllocateZeroPool(LoadOption->FilePathListLength); if (DevPath != NULL) { - CopyMem(DevPath, Buffer+6+StrSize((CHAR16*)(Buffer+6)), *(UINT16*)(Buffer+4)); + CopyMem(DevPath, Buffer+6+StrSize((CHAR16*)(Buffer+6)), LoadOption->FilePathListLength); DevPathString = ConvertDevicePathToText(DevPath, TRUE, FALSE); } } @@ -1126,9 +1127,9 @@ BcfgDisplayDump( VariableName, (CHAR16*)(Buffer+6), DevPathString, - (StrSize((CHAR16*)(Buffer+6)) + *(UINT16*)(Buffer+4) + 6) <= BufferSize?L'N':L'Y'); + (StrSize((CHAR16*)(Buffer+6)) + LoadOption->FilePathListLength + 6) <= BufferSize?L'N':L'Y'); if (VerboseOutput) { - for (LoopVar2 = (StrSize((CHAR16*)(Buffer+6)) + *(UINT16*)(Buffer+4) + 6);LoopVar2<BufferSize;LoopVar2++){ + for (LoopVar2 = (StrSize((CHAR16*)(Buffer+6)) + LoadOption->FilePathListLength + 6);LoopVar2<BufferSize;LoopVar2++){ ShellPrintEx( -1, -1, -- 1.8.3.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel