public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [patch] ShellPkg/Debug1CommandsLib: Fix bugs in func DisplaySysEventLogData
@ 2019-05-28  2:25 Dandan Bi
  2019-05-29  0:31 ` Gao, Zhichao
  0 siblings, 1 reply; 4+ messages in thread
From: Dandan Bi @ 2019-05-28  2:25 UTC (permalink / raw)
  To: devel, oleksiyy; +Cc: Jaben Carsey, Ray Ni, Zhichao Gao

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>
---
 .../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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-06-12 16:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-28  2:25 [patch] ShellPkg/Debug1CommandsLib: Fix bugs in func DisplaySysEventLogData Dandan Bi
2019-05-29  0:31 ` Gao, Zhichao
2019-06-11  0:51   ` Dandan Bi
2019-06-12 16:25     ` Carsey, Jaben

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox