VOID *DevPath;\r
UINTN Errors;\r
EFI_LOAD_OPTION *LoadOption;\r
+ CHAR16 *Description;\r
+ UINTN DescriptionSize;\r
\r
if (OrderCount == 0) {\r
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN(STR_BCFG_NONE), gShellBcfgHiiHandle, L"bcfg"); \r
++Errors;\r
goto Cleanup;\r
}\r
- LoadOption = (EFI_LOAD_OPTION *)Buffer;\r
+\r
+ LoadOption = (EFI_LOAD_OPTION *)Buffer;\r
+ Description = (CHAR16 *)(&LoadOption->FilePathListLength + 1);\r
+ DescriptionSize = StrSize (Description);\r
\r
if (LoadOption->FilePathListLength != 0) {\r
DevPath = AllocateZeroPool(LoadOption->FilePathListLength);\r
if (DevPath != NULL) {\r
- CopyMem(DevPath, Buffer+6+StrSize((CHAR16*)(Buffer+6)), LoadOption->FilePathListLength);\r
+ CopyMem(DevPath, Buffer+6+DescriptionSize, LoadOption->FilePathListLength);\r
DevPathString = ConvertDevicePathToText(DevPath, TRUE, FALSE);\r
}\r
}\r
gShellBcfgHiiHandle,\r
LoopVar,\r
VariableName,\r
- (CHAR16*)(Buffer+6),\r
+ Description,\r
DevPathString,\r
- (StrSize((CHAR16*)(Buffer+6)) + LoadOption->FilePathListLength + 6) <= BufferSize?L'N':L'Y');\r
+ (DescriptionSize + LoadOption->FilePathListLength + 6) <= BufferSize?L'N':L'Y');\r
if (VerboseOutput) {\r
- for (LoopVar2 = (StrSize((CHAR16*)(Buffer+6)) + LoadOption->FilePathListLength + 6);LoopVar2<BufferSize;LoopVar2++){\r
+ for (LoopVar2 = (DescriptionSize + LoadOption->FilePathListLength + 6);LoopVar2<BufferSize;LoopVar2++){\r
ShellPrintEx(\r
-1,\r
-1,\r