From 8d3baa7fde0b24ce40d24eabbb6dc71696e1d20f Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Thu, 21 Jan 2016 18:40:13 +0000 Subject: ShellPkg: BcfgDisplayDump(): address FilePathListLength by name 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 Cc: Ryan Harkin Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek Reviewed-by: Jaben Carsey git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19711 6f19259b-4bc3-4df7-8a09-765794883524 (cherry picked from commit 3b6b1105cf31a3547d6157e912d72ec9ddc69a4b) --- .../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 9955c9e640..b08aac1bd8 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);LoopVar2FilePathListLength + 6);LoopVar2