REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1498
This patch fix following bugs in func DisplaySysEventLogData:
1. Log increment (Log = (LOG_RECORD_FORMAT *) (LogData + Offset);)
should happened in the end of while loop, not in the very beginning.
2. DisplaySELTypes function should be used in while loop instead of
DisplaySELVarDataFormatType.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Zhichao Gao <zhichao.gao@intel.com>
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com>
/** @file\r
Module for clarifying the content of the smbios structure element info.\r
\r
/** @file\r
Module for clarifying the content of the smbios structure element info.\r
\r
- Copyright (c) 2005 - 2011, Intel Corporation. All rights reserved. <BR>\r
+ Copyright (c) 2005 - 2019, Intel Corporation. All rights reserved. <BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
Offset = 0;\r
Log = (LOG_RECORD_FORMAT *) LogData;\r
while (Log != NULL && Log->Type != END_OF_LOG && Offset < LogAreaLength) {\r
Offset = 0;\r
Log = (LOG_RECORD_FORMAT *) LogData;\r
while (Log != NULL && Log->Type != END_OF_LOG && Offset < LogAreaLength) {\r
- //\r
- // Get a Event Log Record\r
- //\r
- Log = (LOG_RECORD_FORMAT *) (LogData + Offset);\r
\r
if (Log != NULL) {\r
//\r
// Display Event Log Record Information\r
//\r
\r
if (Log != NULL) {\r
//\r
// Display Event Log Record Information\r
//\r
- DisplaySELVarDataFormatType (Log->Type, SHOW_DETAIL);\r
+ DisplaySELTypes (Log->Type, SHOW_DETAIL);\r
DisplaySELLogHeaderLen (Log->Length, SHOW_DETAIL);\r
\r
Offset += Log->Length;\r
DisplaySELLogHeaderLen (Log->Length, SHOW_DETAIL);\r
\r
Offset += Log->Length;\r
Print (L"20");\r
} else {\r
ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ERROR), gShellDebug1HiiHandle);\r
Print (L"20");\r
} else {\r
ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ERROR), gShellDebug1HiiHandle);\r
+ //\r
+ // Get a Event Log Record\r
+ //\r
+ Log = (LOG_RECORD_FORMAT *) (LogData + Offset);\r
// Display Variable Data Format\r
//\r
if (Log->Length <= (sizeof (LOG_RECORD_FORMAT) - 1)) {\r
// Display Variable Data Format\r
//\r
if (Log->Length <= (sizeof (LOG_RECORD_FORMAT) - 1)) {\r
+ //\r
+ // Get a Event Log Record\r
+ //\r
+ Log = (LOG_RECORD_FORMAT *) (LogData + Offset);\r
continue;\r
}\r
\r
ElVdfType = Log->LogVariableData[0];\r
DisplayElVdfInfo (ElVdfType, Log->LogVariableData);\r
continue;\r
}\r
\r
ElVdfType = Log->LogVariableData[0];\r
DisplayElVdfInfo (ElVdfType, Log->LogVariableData);\r
+ //\r
+ // Get a Event Log Record\r
+ //\r
+ Log = (LOG_RECORD_FORMAT *) (LogData + Offset);\r