[edk2-devel] [patch] ShellPkg/Debug1CommandsLib: Fix bugs in func DisplaySysEventLogData
Dandan Bi
dandan.bi at intel.com
Tue May 28 02:25:09 UTC 2019
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 at intel.com>
Cc: Ray Ni <ray.ni at intel.com>
Cc: Zhichao Gao <zhichao.gao at intel.com>
Signed-off-by: Dandan Bi <dandan.bi at intel.com>
---
.../SmbiosView/EventLogInfo.c | 20 +++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/EventLogInfo.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/EventLogInfo.c
index b8adf438d3..984c178890 100644
--- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/EventLogInfo.c
+++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/EventLogInfo.c
@@ -1,9 +1,9 @@
/** @file
Module for clarifying the content of the smbios structure element info.
- Copyright (c) 2005 - 2011, Intel Corporation. All rights reserved. <BR>
+ Copyright (c) 2005 - 2019, Intel Corporation. All rights reserved. <BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include "UefiShellDebug1CommandsLib.h"
@@ -345,20 +345,16 @@ DisplaySysEventLogData (
// Print Log info
//
Offset = 0;
Log = (LOG_RECORD_FORMAT *) LogData;
while (Log != NULL && Log->Type != END_OF_LOG && Offset < LogAreaLength) {
- //
- // Get a Event Log Record
- //
- Log = (LOG_RECORD_FORMAT *) (LogData + Offset);
if (Log != NULL) {
//
// Display Event Log Record Information
//
- DisplaySELVarDataFormatType (Log->Type, SHOW_DETAIL);
+ DisplaySELTypes (Log->Type, SHOW_DETAIL);
DisplaySELLogHeaderLen (Log->Length, SHOW_DETAIL);
Offset += Log->Length;
//
// Display Log Header Date/Time Fields
@@ -371,10 +367,14 @@ DisplaySysEventLogData (
Print (L"19");
} else if (Log != NULL && Log->Year <= 79) {
Print (L"20");
} else {
ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_ERROR), gShellDebug1HiiHandle);
+ //
+ // Get a Event Log Record
+ //
+ Log = (LOG_RECORD_FORMAT *) (LogData + Offset);
continue;
}
ShellPrintHiiEx(-1,-1,NULL,
STRING_TOKEN (STR_SMBIOSVIEW_EVENTLOGINFO_TIME_SIX_VARS),
@@ -389,13 +389,21 @@ DisplaySysEventLogData (
//
// Display Variable Data Format
//
if (Log->Length <= (sizeof (LOG_RECORD_FORMAT) - 1)) {
+ //
+ // Get a Event Log Record
+ //
+ Log = (LOG_RECORD_FORMAT *) (LogData + Offset);
continue;
}
ElVdfType = Log->LogVariableData[0];
DisplayElVdfInfo (ElVdfType, Log->LogVariableData);
+ //
+ // Get a Event Log Record
+ //
+ Log = (LOG_RECORD_FORMAT *) (LogData + Offset);
}
}
}
--
2.18.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#41441): https://edk2.groups.io/g/devel/message/41441
Mute This Topic: https://groups.io/mt/31816865/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list