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

Reply via email to