Reviewed-by: Gua Guo <gua....@intel.com>

-----Original Message-----
From: mikub...@linux.microsoft.com <mikub...@linux.microsoft.com> 
Sent: Tuesday, February 20, 2024 11:26 PM
To: devel@edk2.groups.io
Cc: Liming Gao <gaolim...@byosoft.com.cn>; Guo, Gua <gua....@intel.com>; 
Prakashan, Krishnadas Veliyathuparambil 
<krishnadas.veliyathuparambil.prakas...@intel.com>; K N, Karthik 
<karthik....@intel.com>
Subject: [PATCH v1 1/1] MdeModulePkg/TraceHubDebugSysTLib: Use wider type for 
loop comparisons

From: Michael Kubacki <michael.kuba...@microsoft.com>

Resolves a new CodeQL error due to the value being incremented in the loop 
being a narrower type than the variable it is being compared against.

The variable is changed to a UINT32 type so it has the same width as the type 
it is being compared against.

Issue explanation: In a loop condition, comparison of a value of a narrow type 
with a value of a wide type may result in unexpected behavior if the wider 
value is sufficiently large (or small). This is because the narrower value may 
overflow. This can lead to an infinite loop.

Cc: Liming Gao <gaolim...@byosoft.com.cn>
Cc: Gua Guo <gua....@intel.com>
Cc: Prakashan Krishnadas Veliyathuparambil 
<krishnadas.veliyathuparambil.prakas...@intel.com>
Cc: K N Karthik <karthik....@intel.com>
Signed-off-by: Michael Kubacki <michael.kuba...@microsoft.com>
---
 MdeModulePkg/Library/TraceHubDebugSysTLib/BaseTraceHubDebugSysTLib.c   | 4 ++--
 MdeModulePkg/Library/TraceHubDebugSysTLib/DxeSmmTraceHubDebugSysTLib.c | 2 +-
 MdeModulePkg/Library/TraceHubDebugSysTLib/InternalTraceHubApi.c        | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/MdeModulePkg/Library/TraceHubDebugSysTLib/BaseTraceHubDebugSysTLib.c 
b/MdeModulePkg/Library/TraceHubDebugSysTLib/BaseTraceHubDebugSysTLib.c
index 45dfd3127a4c..050210cb958b 100644
--- a/MdeModulePkg/Library/TraceHubDebugSysTLib/BaseTraceHubDebugSysTLib.c
+++ b/MdeModulePkg/Library/TraceHubDebugSysTLib/BaseTraceHubDebugSysTLib
+++ .c
@@ -41,7 +41,7 @@ TraceHubSysTDebugWrite (
   MIPI_SYST_HEADER  MipiSystHeader;
   RETURN_STATUS     Status;
   UINT32            DbgInstCount;
-  UINT16            Index;
+  UINT32            Index;
 
   if (NumberOfBytes == 0) {
     //
@@ -109,7 +109,7 @@ TraceHubSysTWriteCataLog64StatusCode (
   MIPI_SYST_HEADER  MipiSystHeader;
   RETURN_STATUS     Status;
   UINT32            DbgInstCount;
-  UINT16            Index;
+  UINT32            Index;
 
   if (Guid == NULL) {
     return RETURN_INVALID_PARAMETER;
diff --git 
a/MdeModulePkg/Library/TraceHubDebugSysTLib/DxeSmmTraceHubDebugSysTLib.c 
b/MdeModulePkg/Library/TraceHubDebugSysTLib/DxeSmmTraceHubDebugSysTLib.c
index 35c239b5feae..6001f4dfd93d 100644
--- a/MdeModulePkg/Library/TraceHubDebugSysTLib/DxeSmmTraceHubDebugSysTLib.c
+++ b/MdeModulePkg/Library/TraceHubDebugSysTLib/DxeSmmTraceHubDebugSysTL
+++ ib.c
@@ -45,7 +45,7 @@ TraceHubSysTDebugWrite (
   MIPI_SYST_HANDLE  MipiSystHandle;
   MIPI_SYST_HEADER  MipiSystHeader;
   RETURN_STATUS     Status;
-  UINT16            Index;
+  UINT32            Index;
 
   if ((mDbgInstCount == 0) || (mThDebugInstArray == NULL)) {
     return RETURN_ABORTED;
diff --git a/MdeModulePkg/Library/TraceHubDebugSysTLib/InternalTraceHubApi.c 
b/MdeModulePkg/Library/TraceHubDebugSysTLib/InternalTraceHubApi.c
index fe946fe60c7d..035618faece5 100644
--- a/MdeModulePkg/Library/TraceHubDebugSysTLib/InternalTraceHubApi.c
+++ b/MdeModulePkg/Library/TraceHubDebugSysTLib/InternalTraceHubApi.c
@@ -56,7 +56,7 @@ PackThDebugInstance (
   )
 {
   UINT8   *DbgContext;
-  UINT16  Index;
+  UINT32  Index;
 
   DbgContext = GetFirstGuidHob (&gTraceHubDebugInfoHobGuid);
   if (DbgContext != NULL) {
--
2.40.1.vfs.0.0



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#115656): https://edk2.groups.io/g/devel/message/115656
Mute This Topic: https://groups.io/mt/104469197/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to