[edk2-devel] [patch] ShellPkg/Debug1CommandsLib: Fix bugs in func DisplaySysEventLogData
Gao, Zhichao
zhichao.gao at intel.com
Wed May 29 00:31:51 UTC 2019
Reviewed-by: Zhichao Gao <zhichao.gao at intel.com>
> -----Original Message-----
> From: Bi, Dandan
> Sent: Tuesday, May 28, 2019 10:25 AM
> To: devel at edk2.groups.io; oleksiyy at ami.com
> Cc: Carsey, Jaben <jaben.carsey at intel.com>; Ni, Ray <ray.ni at intel.com>;
> Gao, Zhichao <zhichao.gao at intel.com>
> Subject: [patch] ShellPkg/Debug1CommandsLib: Fix bugs in func
> DisplaySysEventLogData
>
> 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/EventLogInf
> o.c
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/EventLogInf
> o.c
> index b8adf438d3..984c178890 100644
> ---
> a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/EventLogInf
> o.c
> +++
> b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/EventLogInf
> +++ o.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 (#41549): https://edk2.groups.io/g/devel/message/41549
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