From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: nathaniel.l.desimone@intel.com) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by groups.io with SMTP; Tue, 10 Sep 2019 15:28:06 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Sep 2019 15:28:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,490,1559545200"; d="scan'208";a="214466003" Received: from orsmsx105.amr.corp.intel.com ([10.22.225.132]) by fmsmga002.fm.intel.com with ESMTP; 10 Sep 2019 15:28:05 -0700 Received: from orsmsx114.amr.corp.intel.com ([169.254.8.225]) by ORSMSX105.amr.corp.intel.com ([169.254.2.66]) with mapi id 14.03.0439.000; Tue, 10 Sep 2019 15:28:05 -0700 From: "Nate DeSimone" To: "Zhang, Shenglei" , "devel@edk2.groups.io" CC: "Kubacki, Michael A" , "Chiu, Chasel" , "Gao, Liming" Subject: Re: [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers Thread-Topic: [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers Thread-Index: AQHVYYrXGjwWBrYGEEaiku5op37ROqcliriQ Date: Tue, 10 Sep 2019 22:28:04 +0000 Message-ID: <02A34F284D1DA44BB705E61F7180EF0AAEEA7E8A@ORSMSX114.amr.corp.intel.com> References: <20190902123452.27716-1-shenglei.zhang@intel.com> <20190902123452.27716-3-shenglei.zhang@intel.com> In-Reply-To: <20190902123452.27716-3-shenglei.zhang@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOWYwMDVkMmQtOTJmNy00MWUyLTlkMzEtZWJmYmNkM2ZkNzM5IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiTmNTZE1WU05OTVRuMldDemdTMlBXZHVBZUFZV3VFdEZmZzhXaGFnQ2tNWXpxNXV1elE4TUlMTFRpb0hIWnM4VyJ9 x-ctpclassification: CTP_NT x-originating-ip: [10.22.254.138] MIME-Version: 1.0 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Shenglei, Please send a second patch series with the copyrights updated. Thanks, Nate -----Original Message----- From: Zhang, Shenglei=20 Sent: Monday, September 2, 2019 5:35 AM To: devel@edk2.groups.io Cc: Kubacki, Michael A ; Chiu, Chasel ; Desimone, Nathaniel L ; Ga= o, Liming Subject: [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers In DxeCheckBootVariable.c, add check for BootOrder and Variable that return= EFI_NOT_FOUND when they are NULL. In DxeCheckGcd.c, add check for GcdIoMap to ensure it not NULL when allocat= ing memory to what it points to. Cc: Michael Kubacki Cc: Chasel Chiu Cc: Nate DeSimone Cc: Liming Gao Signed-off-by: Shenglei Zhang --- .../Test/Library/TestPointCheckLib/DxeCheckBootVariable.c | 6 ++++++ .../Test/Library/TestPointCheckLib/DxeCheckGcd.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/D= xeCheckBootVariable.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPoin= tCheckLib/DxeCheckBootVariable.c index 85bd5b3d..a9af33a3 100644 --- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheck= BootVariable.c +++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh +++ eckBootVariable.c @@ -130,6 +130,9 @@ TestPointCheckLoadOptionVariable ( for (ListIndex =3D 0; ListIndex < sizeof(mLoadOptionVariableList)/sizeof= (mLoadOptionVariableList[0]); ListIndex++) { UnicodeSPrint (BootOrderName, sizeof(BootOrderName), L"%sOrder", mLoad= OptionVariableList[ListIndex]); Status =3D GetVariable2 (BootOrderName, &gEfiGlobalVariableGuid, (VOID= **)&BootOrder, &OrderSize); + if(BootOrder =3D=3D NULL) { + return EFI_NOT_FOUND;; + } if (EFI_ERROR(Status)) { continue; } @@ -222,6 +225,9 @@ TestPointCheckKeyOptionVariable ( for (Index =3D 0; ; Index++) { UnicodeSPrint (KeyOptionName, sizeof(KeyOptionName), L"%s%04x", mKey= OptionVariableList[ListIndex], Index); Status =3D GetVariable2 (KeyOptionName, &gEfiGlobalVariableGuid, &Va= riable, &Size); + if(Variable =3D=3D NULL) { + return EFI_NOT_FOUND;; + } if (!EFI_ERROR(Status)) { DumpKeyOption (KeyOptionName, Variable, Size); } else { diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/D= xeCheckGcd.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib= /DxeCheckGcd.c index 82709d44..989606b6 100644 --- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheck= Gcd.c +++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh +++ eckGcd.c @@ -241,7 +241,9 @@ TestPointDumpGcd ( } } if (GcdMemoryMap !=3D NULL) { - *GcdIoMap =3D AllocateCopyPool (NumberOfDescriptors * sizeof(EFI_GCD= _IO_SPACE_DESCRIPTOR), IoMap); + if (GcdIoMap !=3D NULL){ + *GcdIoMap =3D AllocateCopyPool (NumberOfDescriptors * sizeof(EFI_G= CD_IO_SPACE_DESCRIPTOR), IoMap); + } *GcdIoMapNumberOfDescriptors =3D NumberOfDescriptors; } } -- 2.18.0.windows.1