Looks good to me. I'm just curious if we would run into a similar problem with 
using Print() in MdePkg\Library\UefiLib\UefiLibPrint.c or ShellPrintEx() in 
ShellPkg\Library\UefiShellLib\UefiShellLib.c. If not, we may need to improve 
SctPrint().

Reviewed-by: Sunny Wang <[email protected]>


-----Original Message-----
From: [email protected] <[email protected]> On Behalf Of Heinrich 
Schuchardt via groups.io
Sent: Tuesday, March 30, 2021 11:04 PM
To: EDK II Development <[email protected]>
Cc: Eric Jin <[email protected]>; G Edhaya Chandran <[email protected]>; 
Barton Gao <[email protected]>; Arvin Chen <[email protected]>; Samer 
El-Haj-Mahmoud <[email protected]>; Heinrich Schuchardt 
<[email protected]>
Subject: [edk2-devel] [PATCH edk2-test 1/1] uefi-sct/SctPkg: type mismatch in 
Simple Network test

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3257

SctPrint() requires that %x and %d refers to an UINTN parameter.

SimpleNetworkBBTestFunction.c tries to print INT32 using %x, %d without 
converting to UINTN resulting in corrupted output like:

SimpleNetworkBBTestFunction.c:891:
Status - Unsupported, Filter - AAAA00000000

Mode->ReceiveFilterSetting has only 32 bit. The true value is 0.

Convert the parameters to UINTN.

Signed-off-by: Heinrich Schuchardt <[email protected]>
---
 .../SimpleNetworkBBTestFunction.c             | 52 +++++++++----------
 1 file changed, 26 insertions(+), 26 deletions(-)

diff --git 
a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleNetwork/BlackBoxTest/SimpleNetworkBBTestFunction.c
 
b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleNetwork/BlackBoxTest/SimpleNetworkBBTestFunction.c
index 8767e68e92d4..5fc01aadd96a 100644
--- 
a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleNetwork/BlackBoxTest/SimpleNetworkBBTestFunction.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleNetwork/BlackBoxT
+++ est/SimpleNetworkBBTestFunction.c
@@ -775,7 +775,7 @@ BBTestReceiveFilterFunctionTest (
                    __FILE__,
                    (UINTN)__LINE__,
                    Status,
-                   SnpInterface->Mode->ReceiveFilterSetting
+                   (UINTN)SnpInterface->Mode->ReceiveFilterSetting
                    );

     // Check point A. Enable Specified bit.
@@ -797,7 +797,7 @@ BBTestReceiveFilterFunctionTest (
                    __FILE__,
                    (UINTN)__LINE__,
                    Status,
-                   SnpInterface->Mode->ReceiveFilterSetting
+                   (UINTN)SnpInterface->Mode->ReceiveFilterSetting
                    );

     // Check point C. Enable and Disable Specified bit together.
@@ -819,7 +819,7 @@ BBTestReceiveFilterFunctionTest (
                    __FILE__,
                    (UINTN)__LINE__,
                    Status,
-                   SnpInterface->Mode->ReceiveFilterSetting
+                   (UINTN)SnpInterface->Mode->ReceiveFilterSetting
                    );
   }

@@ -856,12 +856,12 @@ BBTestReceiveFilterFunctionTest (
                    __FILE__,
                    (UINTN)__LINE__,
                    Status,
-                   SnpInterface->Mode->ReceiveFilterSetting,
-                   SnpInterface->Mode->ReceiveFilterMask,
-                   SnpInterface->Mode->MCastFilterCount,
-                   SnpInterface->Mode->MCastFilter[0].Addr[0],
-                   SnpInterface->Mode->MCastFilter[0].Addr[5],
-                   SnpInterface->Mode->MCastFilter[1].Addr[0]
+                   (UINTN)SnpInterface->Mode->ReceiveFilterSetting,
+                   (UINTN)SnpInterface->Mode->ReceiveFilterMask,
+                   (UINTN)SnpInterface->Mode->MCastFilterCount,
+                   (UINTN)SnpInterface->Mode->MCastFilter[0].Addr[0],
+                   (UINTN)SnpInterface->Mode->MCastFilter[0].Addr[5],
+                   (UINTN)SnpInterface->Mode->MCastFilter[1].Addr[0]
                    );
   }

@@ -885,17 +885,17 @@ BBTestReceiveFilterFunctionTest (
                  AssertionType,
                  gSimpleNetworkBBTestFunctionAssertionGuid012,
                  L"EFI_SIMPLE_NETWORK_PROTOCOL.ReceiveFilters - Invoke 
ReceiveFilters() to reset multicast receive filters list and verify interface 
correctness within test case",
-                 L"%a:%d:Status - %r, Filter - %x, Mask - %x,Count - %d(%d), 
Address - %x, %x, %x",
+                 L"%a:%d:Status - %r, Filter - %x, Mask - %x, Count -
+ %d(%d), Address - %x, %x, %x",
                  __FILE__,
                  (UINTN)__LINE__,
                  Status,
-                 SnpInterface->Mode->ReceiveFilterSetting,
-                 SnpInterface->Mode->ReceiveFilterMask,
-                 SnpInterface->Mode->MCastFilterCount,
-                 Mode.MCastFilterCount,
-                 SnpInterface->Mode->MCastFilter[0].Addr[0],
-                 SnpInterface->Mode->MCastFilter[0].Addr[5],
-                 SnpInterface->Mode->MCastFilter[1].Addr[0]
+                 (UINTN)SnpInterface->Mode->ReceiveFilterSetting,
+                 (UINTN)SnpInterface->Mode->ReceiveFilterMask,
+                 (UINTN)SnpInterface->Mode->MCastFilterCount,
+                 (UINTN)Mode.MCastFilterCount,
+                 (UINTN)SnpInterface->Mode->MCastFilter[0].Addr[0],
+                 (UINTN)SnpInterface->Mode->MCastFilter[0].Addr[5],
+                 (UINTN)SnpInterface->Mode->MCastFilter[1].Addr[0]
                  );
   //
   // Restore SNP State
@@ -1358,12 +1358,12 @@ BBTestMCastIpToMacFunctionTest (
                  __FILE__,
                  (UINTN)__LINE__,
                  Status,
-                 MAC1.Addr[0],
-                 MAC1.Addr[1],
-                 MAC1.Addr[2],
-                 MAC1.Addr[3],
-                 MAC1.Addr[4],
-                 MAC1.Addr[5]
+                 (UINTN)MAC1.Addr[0],
+                 (UINTN)MAC1.Addr[1],
+                 (UINTN)MAC1.Addr[2],
+                 (UINTN)MAC1.Addr[3],
+                 (UINTN)MAC1.Addr[4],
+                 (UINTN)MAC1.Addr[5]
                  );

   //
@@ -1510,8 +1510,8 @@ BBTestNVDataFunctionTest (
                    __FILE__,
                    (UINTN)__LINE__,
                    Status,
-                   SnpInterface->Mode->NvRamSize,
-                   SnpInterface->Mode->NvRamAccessSize
+                   (UINTN)SnpInterface->Mode->NvRamSize,
+                   (UINTN)SnpInterface->Mode->NvRamAccessSize
                    );
   }

@@ -1919,7 +1919,7 @@ BBTestGetStatusFunctionTest (
                     (UINTN)__LINE__,
                     Status,
                     Status1,
-                    InterruptStatus
+                    (UINTN)InterruptStatus
                     );
   }

--
2.30.2



-=-=-=-=-=-=
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#73534): https://edk2.groups.io/g/devel/message/73534
Mute This Topic: https://groups.io/mt/81724187/5985097
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] 
-=-=-=-=-=-=


IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75061): https://edk2.groups.io/g/devel/message/75061
Mute This Topic: https://groups.io/mt/81724187/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to