Re: [PATCH v2] UnitTestFrameworkPkg/UnitTestLib: Check Suite pointer before use.


Zhang, Shenglei
 

Reviewed-by: Shenglei Zhang <shenglei.zhang@...>

-----Original Message-----
From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
GuoMinJ
Sent: Thursday, March 5, 2020 2:18 PM
To: devel@edk2.groups.io
Cc: GuoMinJ <newexplorerj@...>; Kinney, Michael D
<michael.d.kinney@...>; Sean Brogan <sean.brogan@...>;
Bret Barkelew <Bret.Barkelew@...>
Subject: [edk2-devel] [PATCH v2] UnitTestFrameworkPkg/UnitTestLib: Check
Suite pointer before use.

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

The Suite pointer is used before check if it is valid,
correct it to check the validation before use.

Cc: Michael D Kinney <michael.d.kinney@...>
Cc: Sean Brogan <sean.brogan@...>
Cc: Bret Barkelew <Bret.Barkelew@...>
Signed-off-by: GuoMinJ <newexplorerj@...>
---
UnitTestFrameworkPkg/Library/UnitTestLib/RunTests.c | 6 +++---
UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLib.c | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/UnitTestFrameworkPkg/Library/UnitTestLib/RunTests.c
b/UnitTestFrameworkPkg/Library/UnitTestLib/RunTests.c
index fb247c59e7..b053e04959 100644
--- a/UnitTestFrameworkPkg/Library/UnitTestLib/RunTests.c
+++ b/UnitTestFrameworkPkg/Library/UnitTestLib/RunTests.c
@@ -33,13 +33,13 @@ RunTestSuite (
UNIT_TEST *Test;
UNIT_TEST_FRAMEWORK *ParentFramework;

- TestEntry = NULL;
- ParentFramework = (UNIT_TEST_FRAMEWORK *)Suite->ParentFramework;
-
if (Suite == NULL) {
return EFI_INVALID_PARAMETER;
}

+ TestEntry = NULL;
+ ParentFramework = (UNIT_TEST_FRAMEWORK *)Suite-
ParentFramework;
+
DEBUG ((DEBUG_VERBOSE, "--------------------------------------------------------
-\n"));
DEBUG ((DEBUG_VERBOSE, "RUNNING TEST SUITE: %a\n", Suite->Title));
DEBUG ((DEBUG_VERBOSE, "--------------------------------------------------------
-\n"));
diff --git a/UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLib.c
b/UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLib.c
index fd15991ea4..b136992d99 100644
--- a/UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLib.c
+++ b/UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLib.c
@@ -436,7 +436,6 @@ AddTestCase (

Status = EFI_SUCCESS;
Suite = (UNIT_TEST_SUITE *)SuiteHandle;
- ParentFramework = (UNIT_TEST_FRAMEWORK *)Suite->ParentFramework;

//
// First, let's check to make sure that our parameters look good.
@@ -445,6 +444,7 @@ AddTestCase (
return EFI_INVALID_PARAMETER;
}

+ ParentFramework = (UNIT_TEST_FRAMEWORK *)Suite-
ParentFramework;
//
// Create the new entry.
NewTestEntry = AllocateZeroPool (sizeof( UNIT_TEST_LIST_ENTRY ));
--
2.17.1


Join devel@edk2.groups.io to automatically receive all group messages.