* [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers
@ 2019-09-12 2:54 Zhang, Shenglei
2019-09-12 18:54 ` Nate DeSimone
[not found] ` <15C3C5B9A4267C61.28831@groups.io>
0 siblings, 2 replies; 8+ messages in thread
From: Zhang, Shenglei @ 2019-09-12 2:54 UTC (permalink / raw)
To: devel; +Cc: Michael Kubacki, Chasel Chiu, Nate DeSimone, Liming Gao
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 allocating memory to what it points to.
Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
---
v2: Update copyright
.../Test/Library/TestPointCheckLib/DxeCheckBootVariable.c | 8 +++++++-
.../Test/Library/TestPointCheckLib/DxeCheckGcd.c | 6 ++++--
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c
index 85bd5b3d..98130683 100644
--- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c
+++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c
@@ -1,6 +1,6 @@
/** @file
-Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2017-2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -130,6 +130,9 @@ TestPointCheckLoadOptionVariable (
for (ListIndex = 0; ListIndex < sizeof(mLoadOptionVariableList)/sizeof(mLoadOptionVariableList[0]); ListIndex++) {
UnicodeSPrint (BootOrderName, sizeof(BootOrderName), L"%sOrder", mLoadOptionVariableList[ListIndex]);
Status = GetVariable2 (BootOrderName, &gEfiGlobalVariableGuid, (VOID **)&BootOrder, &OrderSize);
+ if(BootOrder == NULL) {
+ return EFI_NOT_FOUND;;
+ }
if (EFI_ERROR(Status)) {
continue;
}
@@ -222,6 +225,9 @@ TestPointCheckKeyOptionVariable (
for (Index = 0; ; Index++) {
UnicodeSPrint (KeyOptionName, sizeof(KeyOptionName), L"%s%04x", mKeyOptionVariableList[ListIndex], Index);
Status = GetVariable2 (KeyOptionName, &gEfiGlobalVariableGuid, &Variable, &Size);
+ if(Variable == NULL) {
+ return EFI_NOT_FOUND;;
+ }
if (!EFI_ERROR(Status)) {
DumpKeyOption (KeyOptionName, Variable, Size);
} else {
diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c
index 82709d44..c90b37f2 100644
--- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c
+++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c
@@ -1,6 +1,6 @@
/** @file
-Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2017-2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -241,7 +241,9 @@ TestPointDumpGcd (
}
}
if (GcdMemoryMap != NULL) {
- *GcdIoMap = AllocateCopyPool (NumberOfDescriptors * sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
+ if (GcdIoMap != NULL){
+ *GcdIoMap = AllocateCopyPool (NumberOfDescriptors * sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
+ }
*GcdIoMapNumberOfDescriptors = NumberOfDescriptors;
}
}
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers
2019-09-12 2:54 [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers Zhang, Shenglei
@ 2019-09-12 18:54 ` Nate DeSimone
[not found] ` <15C3C5B9A4267C61.28831@groups.io>
1 sibling, 0 replies; 8+ messages in thread
From: Nate DeSimone @ 2019-09-12 18:54 UTC (permalink / raw)
To: Zhang, Shenglei, devel@edk2.groups.io
Cc: Kubacki, Michael A, Chiu, Chasel, Gao, Liming
Your whitespace doesn't quite match the edk2 coding style guidelines, but we can fix that during commit.
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
-----Original Message-----
From: Zhang, Shenglei
Sent: Wednesday, September 11, 2019 7:55 PM
To: devel@edk2.groups.io
Cc: Kubacki, Michael A <michael.a.kubacki@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Gao, Liming <liming.gao@intel.com>
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 allocating memory to what it points to.
Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
---
v2: Update copyright
.../Test/Library/TestPointCheckLib/DxeCheckBootVariable.c | 8 +++++++-
.../Test/Library/TestPointCheckLib/DxeCheckGcd.c | 6 ++++--
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c
index 85bd5b3d..98130683 100644
--- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c
+++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh
+++ eckBootVariable.c
@@ -1,6 +1,6 @@
/** @file
-Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2017-2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -130,6 +130,9 @@ TestPointCheckLoadOptionVariable (
for (ListIndex = 0; ListIndex < sizeof(mLoadOptionVariableList)/sizeof(mLoadOptionVariableList[0]); ListIndex++) {
UnicodeSPrint (BootOrderName, sizeof(BootOrderName), L"%sOrder", mLoadOptionVariableList[ListIndex]);
Status = GetVariable2 (BootOrderName, &gEfiGlobalVariableGuid, (VOID **)&BootOrder, &OrderSize);
+ if(BootOrder == NULL) {
+ return EFI_NOT_FOUND;;
+ }
if (EFI_ERROR(Status)) {
continue;
}
@@ -222,6 +225,9 @@ TestPointCheckKeyOptionVariable (
for (Index = 0; ; Index++) {
UnicodeSPrint (KeyOptionName, sizeof(KeyOptionName), L"%s%04x", mKeyOptionVariableList[ListIndex], Index);
Status = GetVariable2 (KeyOptionName, &gEfiGlobalVariableGuid, &Variable, &Size);
+ if(Variable == NULL) {
+ return EFI_NOT_FOUND;;
+ }
if (!EFI_ERROR(Status)) {
DumpKeyOption (KeyOptionName, Variable, Size);
} else {
diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c
index 82709d44..c90b37f2 100644
--- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c
+++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh
+++ eckGcd.c
@@ -1,6 +1,6 @@
/** @file
-Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2017-2019, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -241,7 +241,9 @@ TestPointDumpGcd (
}
}
if (GcdMemoryMap != NULL) {
- *GcdIoMap = AllocateCopyPool (NumberOfDescriptors * sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
+ if (GcdIoMap != NULL){
+ *GcdIoMap = AllocateCopyPool (NumberOfDescriptors * sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
+ }
*GcdIoMapNumberOfDescriptors = NumberOfDescriptors;
}
}
--
2.18.0.windows.1
^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <15C3C5B9A4267C61.28831@groups.io>]
* Re: [edk2-devel] [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers
[not found] ` <15C3C5B9A4267C61.28831@groups.io>
@ 2019-09-13 22:31 ` Nate DeSimone
2019-09-17 3:36 ` Zhang, Shenglei
0 siblings, 1 reply; 8+ messages in thread
From: Nate DeSimone @ 2019-09-13 22:31 UTC (permalink / raw)
To: Zhang, Shenglei, devel@edk2.groups.io
Cc: Kubacki, Michael A, Chiu, Chasel, Gao, Liming
Hi Shenglei,
Looking at this patch more closely. There appear to be bugs... please
see below. Please fix this along with your poor use of semi-colons and
white-space.
Thanks,
Nate
On 9/12/2019 11:54 AM, Nate DeSimone wrote:
> Your whitespace doesn't quite match the edk2 coding style guidelines, but we can fix that during commit.
>
> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
>
> -----Original Message-----
> From: Zhang, Shenglei
> Sent: Wednesday, September 11, 2019 7:55 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A <michael.a.kubacki@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Gao, Liming <liming.gao@intel.com>
> 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 allocating memory to what it points to.
>
> Cc: Michael Kubacki <michael.a.kubacki@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
> ---
>
> v2: Update copyright
>
> .../Test/Library/TestPointCheckLib/DxeCheckBootVariable.c | 8 +++++++-
> .../Test/Library/TestPointCheckLib/DxeCheckGcd.c | 6 ++++--
> 2 files changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c
> index 85bd5b3d..98130683 100644
> --- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c
> +++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh
> +++ eckBootVariable.c
> @@ -1,6 +1,6 @@
> /** @file
>
> -Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2017-2019, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
> @@ -130,6 +130,9 @@ TestPointCheckLoadOptionVariable (
> for (ListIndex = 0; ListIndex < sizeof(mLoadOptionVariableList)/sizeof(mLoadOptionVariableList[0]); ListIndex++) {
> UnicodeSPrint (BootOrderName, sizeof(BootOrderName), L"%sOrder", mLoadOptionVariableList[ListIndex]);
> Status = GetVariable2 (BootOrderName, &gEfiGlobalVariableGuid, (VOID **)&BootOrder, &OrderSize);
> + if(BootOrder == NULL) {
> + return EFI_NOT_FOUND;;
> + }
> if (EFI_ERROR(Status)) {
> continue;
> }
> @@ -222,6 +225,9 @@ TestPointCheckKeyOptionVariable (
> for (Index = 0; ; Index++) {
> UnicodeSPrint (KeyOptionName, sizeof(KeyOptionName), L"%s%04x", mKeyOptionVariableList[ListIndex], Index);
> Status = GetVariable2 (KeyOptionName, &gEfiGlobalVariableGuid, &Variable, &Size);
> + if(Variable == NULL) {
> + return EFI_NOT_FOUND;;
> + }
> if (!EFI_ERROR(Status)) {
> DumpKeyOption (KeyOptionName, Variable, Size);
> } else {
> diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c
> index 82709d44..c90b37f2 100644
> --- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c
> +++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh
> +++ eckGcd.c
> @@ -1,6 +1,6 @@
> /** @file
>
> -Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2017-2019, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
> @@ -241,7 +241,9 @@ TestPointDumpGcd (
> }
> }
> if (GcdMemoryMap != NULL) {
> - *GcdIoMap = AllocateCopyPool (NumberOfDescriptors * sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
> + if (GcdIoMap != NULL){
> + *GcdIoMap = AllocateCopyPool (NumberOfDescriptors * sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
> + }
GcdIoMap will always be NULL. Please see line 199 of this file. I
believe your patch is introducing a new bug.
> *GcdIoMapNumberOfDescriptors = NumberOfDescriptors;
> }
> }
> --
> 2.18.0.windows.1
>
>
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [edk2-devel] [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers
2019-09-13 22:31 ` [edk2-devel] " Nate DeSimone
@ 2019-09-17 3:36 ` Zhang, Shenglei
2019-09-17 21:42 ` Nate DeSimone
0 siblings, 1 reply; 8+ messages in thread
From: Zhang, Shenglei @ 2019-09-17 3:36 UTC (permalink / raw)
To: devel@edk2.groups.io, Desimone, Nathaniel L
Cc: Kubacki, Michael A, Chiu, Chasel, Gao, Liming
Hi Nathaniel,
> -----Original Message-----
> From: Desimone, Nathaniel L
> Sent: Saturday, September 14, 2019 6:31 AM
> To: Zhang, Shenglei <shenglei.zhang@intel.com>; devel@edk2.groups.io
> Cc: Kubacki, Michael A <michael.a.kubacki@intel.com>; Chiu, Chasel
> <chasel.chiu@intel.com>; Gao, Liming <liming.gao@intel.com>
> Subject: Re: [edk2-devel] [PATCH] MinPlatformPkg/TestPointCheckLib: Add
> check for pointers
>
> Hi Shenglei,
>
> Looking at this patch more closely. There appear to be bugs... please
> see below. Please fix this along with your poor use of semi-colons and
> white-space.
>
> Thanks,
>
> Nate
>
> On 9/12/2019 11:54 AM, Nate DeSimone wrote:
> > Your whitespace doesn't quite match the edk2 coding style guidelines, but
> we can fix that during commit.
> >
> > Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
> >
> > -----Original Message-----
> > From: Zhang, Shenglei
> > Sent: Wednesday, September 11, 2019 7:55 PM
> > To: devel@edk2.groups.io
> > Cc: Kubacki, Michael A <michael.a.kubacki@intel.com>; Chiu, Chasel
> <chasel.chiu@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Gao, Liming <liming.gao@intel.com>
> > 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
> allocating memory to what it points to.
> >
> > Cc: Michael Kubacki <michael.a.kubacki@intel.com>
> > Cc: Chasel Chiu <chasel.chiu@intel.com>
> > Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> > Cc: Liming Gao <liming.gao@intel.com>
> > Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
> > ---
> >
> > v2: Update copyright
> >
> > .../Test/Library/TestPointCheckLib/DxeCheckBootVariable.c | 8 +++++++-
> > .../Test/Library/TestPointCheckLib/DxeCheckGcd.c | 6 ++++--
> > 2 files changed, 11 insertions(+), 3 deletions(-)
> >
> > diff --git
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheck
> BootVariable.c
> b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheck
> BootVariable.c
> > index 85bd5b3d..98130683 100644
> > ---
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheck
> BootVariable.c
> > +++
> b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh
> > +++ eckBootVariable.c
> > @@ -1,6 +1,6 @@
> > /** @file
> >
> > -Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
> > +Copyright (c) 2017-2019, Intel Corporation. All rights reserved.<BR>
> > SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> > **/
> > @@ -130,6 +130,9 @@ TestPointCheckLoadOptionVariable (
> > for (ListIndex = 0; ListIndex <
> sizeof(mLoadOptionVariableList)/sizeof(mLoadOptionVariableList[0]);
> ListIndex++) {
> > UnicodeSPrint (BootOrderName, sizeof(BootOrderName), L"%sOrder",
> mLoadOptionVariableList[ListIndex]);
> > Status = GetVariable2 (BootOrderName, &gEfiGlobalVariableGuid,
> (VOID **)&BootOrder, &OrderSize);
> > + if(BootOrder == NULL) {
> > + return EFI_NOT_FOUND;;
> > + }
> > if (EFI_ERROR(Status)) {
> > continue;
> > }
> > @@ -222,6 +225,9 @@ TestPointCheckKeyOptionVariable (
> > for (Index = 0; ; Index++) {
> > UnicodeSPrint (KeyOptionName, sizeof(KeyOptionName), L"%s%04x",
> mKeyOptionVariableList[ListIndex], Index);
> > Status = GetVariable2 (KeyOptionName, &gEfiGlobalVariableGuid,
> &Variable, &Size);
> > + if(Variable == NULL) {
> > + return EFI_NOT_FOUND;;
> > + }
> > if (!EFI_ERROR(Status)) {
> > DumpKeyOption (KeyOptionName, Variable, Size);
> > } else {
> > diff --git
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheck
> Gcd.c
> b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheck
> Gcd.c
> > index 82709d44..c90b37f2 100644
> > ---
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheck
> Gcd.c
> > +++
> b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh
> > +++ eckGcd.c
> > @@ -1,6 +1,6 @@
> > /** @file
> >
> > -Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
> > +Copyright (c) 2017-2019, Intel Corporation. All rights reserved.<BR>
> > SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> > **/
> > @@ -241,7 +241,9 @@ TestPointDumpGcd (
> > }
> > }
> > if (GcdMemoryMap != NULL) {
> > - *GcdIoMap = AllocateCopyPool (NumberOfDescriptors *
> sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
> > + if (GcdIoMap != NULL){
> > + *GcdIoMap = AllocateCopyPool (NumberOfDescriptors *
> sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
> > + }
>
> GcdIoMap will always be NULL. Please see line 199 of this file. I
> believe your patch is introducing a new bug.
I fail to get your point. Would you explain why GcdIoMap will always be NULL? It looks like an input
parameter from other place.
Thanks,
Shenglei
>
> > *GcdIoMapNumberOfDescriptors = NumberOfDescriptors;
> > }
> > }
> > --
> > 2.18.0.windows.1
> >
> >
> >
> >
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [edk2-devel] [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers
2019-09-17 3:36 ` Zhang, Shenglei
@ 2019-09-17 21:42 ` Nate DeSimone
0 siblings, 0 replies; 8+ messages in thread
From: Nate DeSimone @ 2019-09-17 21:42 UTC (permalink / raw)
To: Zhang, Shenglei, devel@edk2.groups.io
Cc: Kubacki, Michael A, Chiu, Chasel, Gao, Liming
Hi Shenglei,
You are right, *GcdIoMap will always be NULL but GcdIoMap may not be as the function does not exit early in the case of GcdIoMap being == NULL, sorry I misread. Please make sure you put a space between your closing parenthesis and your opening curly:
if (GcdIoMap != NULL) {
not...
if (GcdIoMap != NULL){
Also, please fix the double semicolon and if statement whitespace:
If (BootOrder == NULL) {
return EFI_NOT_FOUND;
}
not...
if(BootOrder == NULL) {
return EFI_NOT_FOUND;;
}
Then you will get a reviewed-by.
Thanks,
Nate
-----Original Message-----
From: Zhang, Shenglei <shenglei.zhang@intel.com>
Sent: Monday, September 16, 2019 8:36 PM
To: devel@edk2.groups.io; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>
Cc: Kubacki, Michael A <michael.a.kubacki@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Gao, Liming <liming.gao@intel.com>
Subject: RE: [edk2-devel] [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers
Hi Nathaniel,
> -----Original Message-----
> From: Desimone, Nathaniel L
> Sent: Saturday, September 14, 2019 6:31 AM
> To: Zhang, Shenglei <shenglei.zhang@intel.com>; devel@edk2.groups.io
> Cc: Kubacki, Michael A <michael.a.kubacki@intel.com>; Chiu, Chasel
> <chasel.chiu@intel.com>; Gao, Liming <liming.gao@intel.com>
> Subject: Re: [edk2-devel] [PATCH] MinPlatformPkg/TestPointCheckLib:
> Add check for pointers
>
> Hi Shenglei,
>
> Looking at this patch more closely. There appear to be bugs... please
> see below. Please fix this along with your poor use of semi-colons and
> white-space.
>
> Thanks,
>
> Nate
>
> On 9/12/2019 11:54 AM, Nate DeSimone wrote:
> > Your whitespace doesn't quite match the edk2 coding style
> > guidelines, but
> we can fix that during commit.
> >
> > Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
> >
> > -----Original Message-----
> > From: Zhang, Shenglei
> > Sent: Wednesday, September 11, 2019 7:55 PM
> > To: devel@edk2.groups.io
> > Cc: Kubacki, Michael A <michael.a.kubacki@intel.com>; Chiu, Chasel
> <chasel.chiu@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Gao, Liming <liming.gao@intel.com>
> > 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
> allocating memory to what it points to.
> >
> > Cc: Michael Kubacki <michael.a.kubacki@intel.com>
> > Cc: Chasel Chiu <chasel.chiu@intel.com>
> > Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> > Cc: Liming Gao <liming.gao@intel.com>
> > Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
> > ---
> >
> > v2: Update copyright
> >
> > .../Test/Library/TestPointCheckLib/DxeCheckBootVariable.c | 8 +++++++-
> > .../Test/Library/TestPointCheckLib/DxeCheckGcd.c | 6 ++++--
> > 2 files changed, 11 insertions(+), 3 deletions(-)
> >
> > diff --git
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeChec
> k
> BootVariable.c
> b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeChec
> k
> BootVariable.c
> > index 85bd5b3d..98130683 100644
> > ---
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeChec
> k
> BootVariable.c
> > +++
> b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh
> > +++ eckBootVariable.c
> > @@ -1,6 +1,6 @@
> > /** @file
> >
> > -Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
> > +Copyright (c) 2017-2019, Intel Corporation. All rights
> > +reserved.<BR>
> > SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> > **/
> > @@ -130,6 +130,9 @@ TestPointCheckLoadOptionVariable (
> > for (ListIndex = 0; ListIndex <
> sizeof(mLoadOptionVariableList)/sizeof(mLoadOptionVariableList[0]);
> ListIndex++) {
> > UnicodeSPrint (BootOrderName, sizeof(BootOrderName),
> > L"%sOrder",
> mLoadOptionVariableList[ListIndex]);
> > Status = GetVariable2 (BootOrderName, &gEfiGlobalVariableGuid,
> (VOID **)&BootOrder, &OrderSize);
> > + if(BootOrder == NULL) {
> > + return EFI_NOT_FOUND;;
> > + }
> > if (EFI_ERROR(Status)) {
> > continue;
> > }
> > @@ -222,6 +225,9 @@ TestPointCheckKeyOptionVariable (
> > for (Index = 0; ; Index++) {
> > UnicodeSPrint (KeyOptionName, sizeof(KeyOptionName),
> > L"%s%04x",
> mKeyOptionVariableList[ListIndex], Index);
> > Status = GetVariable2 (KeyOptionName,
> > &gEfiGlobalVariableGuid,
> &Variable, &Size);
> > + if(Variable == NULL) {
> > + return EFI_NOT_FOUND;;
> > + }
> > if (!EFI_ERROR(Status)) {
> > DumpKeyOption (KeyOptionName, Variable, Size);
> > } else {
> > diff --git
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeChec
> k
> Gcd.c
> b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeChec
> k
> Gcd.c
> > index 82709d44..c90b37f2 100644
> > ---
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeChec
> k
> Gcd.c
> > +++
> b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh
> > +++ eckGcd.c
> > @@ -1,6 +1,6 @@
> > /** @file
> >
> > -Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
> > +Copyright (c) 2017-2019, Intel Corporation. All rights
> > +reserved.<BR>
> > SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> > **/
> > @@ -241,7 +241,9 @@ TestPointDumpGcd (
> > }
> > }
> > if (GcdMemoryMap != NULL) {
> > - *GcdIoMap = AllocateCopyPool (NumberOfDescriptors *
> sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
> > + if (GcdIoMap != NULL){
> > + *GcdIoMap = AllocateCopyPool (NumberOfDescriptors *
> sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
> > + }
>
> GcdIoMap will always be NULL. Please see line 199 of this file. I
> believe your patch is introducing a new bug.
I fail to get your point. Would you explain why GcdIoMap will always be NULL? It looks like an input parameter from other place.
Thanks,
Shenglei
>
> > *GcdIoMapNumberOfDescriptors = NumberOfDescriptors;
> > }
> > }
> > --
> > 2.18.0.windows.1
> >
> >
> >
> >
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] MinPlatformPkg/SecFspWrapperPlatformSecLib: Change TopOfTemporaryRam type
@ 2019-09-02 12:34 Zhang, Shenglei
2019-09-02 12:34 ` [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers Zhang, Shenglei
0 siblings, 1 reply; 8+ messages in thread
From: Zhang, Shenglei @ 2019-09-02 12:34 UTC (permalink / raw)
To: devel; +Cc: Michael Kubacki, Chasel Chiu, Nate DeSimone, Liming Gao
Cast TopOfTemporaryRam's from UINT32 to UINTN in the expression.
The original code (TopOfTemporaryRam - sizeof (UINT32)) may cause
overflow. As a result the operation under 64-bit OS environment, (UINT)(...),
may cast a overflowed 4-byte result to 8-byte one.
Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
---
.../Library/SecFspWrapperPlatformSecLib/SecGetPerformance.c | 2 +-
.../SecFspWrapperPlatformSecLib/SecPlatformInformation.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecGetPerformance.c b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecGetPerformance.c
index c4eeb2b1..0cc42f96 100644
--- a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecGetPerformance.c
+++ b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecGetPerformance.c
@@ -79,7 +79,7 @@ SecGetPerformance (
//
TopOfTemporaryRam = (UINT32)(UINTN)TopOfTemporaryRamPpi - sizeof(UINT32);
TopOfTemporaryRam -= sizeof(UINT32) * 2;
- Count = *(UINT32 *) (UINTN) (TopOfTemporaryRam - sizeof (UINT32));
+ Count = *(UINT32 *)((UINTN)TopOfTemporaryRam - sizeof (UINT32));
Size = Count * sizeof (UINT32);
Ticker = *(UINT64 *) (UINTN) (TopOfTemporaryRam - sizeof (UINT32) - Size - sizeof (UINT32) * 2);
diff --git a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecPlatformInformation.c b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecPlatformInformation.c
index 5b94ed2b..1bcee5f4 100644
--- a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecPlatformInformation.c
+++ b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/SecFspWrapperPlatformSecLib/SecPlatformInformation.c
@@ -61,7 +61,7 @@ SecPlatformInformation (
//
TopOfTemporaryRam = (UINT32)(UINTN)TopOfTemporaryRamPpi - sizeof (UINT32);
TopOfTemporaryRam -= sizeof(UINT32) * 2;
- Count = *((UINT32 *)(UINTN) (TopOfTemporaryRam - sizeof (UINT32)));
+ Count = *((UINT32 *)((UINTN)TopOfTemporaryRam - sizeof (UINT32)));
Size = Count * sizeof (IA32_HANDOFF_STATUS);
if ((*StructureSize) < (UINT64) Size) {
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers
2019-09-02 12:34 [PATCH] MinPlatformPkg/SecFspWrapperPlatformSecLib: Change TopOfTemporaryRam type Zhang, Shenglei
@ 2019-09-02 12:34 ` Zhang, Shenglei
2019-09-02 14:01 ` Chiu, Chasel
2019-09-10 22:28 ` Nate DeSimone
0 siblings, 2 replies; 8+ messages in thread
From: Zhang, Shenglei @ 2019-09-02 12:34 UTC (permalink / raw)
To: devel; +Cc: Michael Kubacki, Chasel Chiu, Nate DeSimone, Liming Gao
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 allocating memory to what it points to.
Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
---
.../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/DxeCheckBootVariable.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c
index 85bd5b3d..a9af33a3 100644
--- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c
+++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c
@@ -130,6 +130,9 @@ TestPointCheckLoadOptionVariable (
for (ListIndex = 0; ListIndex < sizeof(mLoadOptionVariableList)/sizeof(mLoadOptionVariableList[0]); ListIndex++) {
UnicodeSPrint (BootOrderName, sizeof(BootOrderName), L"%sOrder", mLoadOptionVariableList[ListIndex]);
Status = GetVariable2 (BootOrderName, &gEfiGlobalVariableGuid, (VOID **)&BootOrder, &OrderSize);
+ if(BootOrder == NULL) {
+ return EFI_NOT_FOUND;;
+ }
if (EFI_ERROR(Status)) {
continue;
}
@@ -222,6 +225,9 @@ TestPointCheckKeyOptionVariable (
for (Index = 0; ; Index++) {
UnicodeSPrint (KeyOptionName, sizeof(KeyOptionName), L"%s%04x", mKeyOptionVariableList[ListIndex], Index);
Status = GetVariable2 (KeyOptionName, &gEfiGlobalVariableGuid, &Variable, &Size);
+ if(Variable == NULL) {
+ return EFI_NOT_FOUND;;
+ }
if (!EFI_ERROR(Status)) {
DumpKeyOption (KeyOptionName, Variable, Size);
} else {
diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c
index 82709d44..989606b6 100644
--- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c
+++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c
@@ -241,7 +241,9 @@ TestPointDumpGcd (
}
}
if (GcdMemoryMap != NULL) {
- *GcdIoMap = AllocateCopyPool (NumberOfDescriptors * sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
+ if (GcdIoMap != NULL){
+ *GcdIoMap = AllocateCopyPool (NumberOfDescriptors * sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
+ }
*GcdIoMapNumberOfDescriptors = NumberOfDescriptors;
}
}
--
2.18.0.windows.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers
2019-09-02 12:34 ` [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers Zhang, Shenglei
@ 2019-09-02 14:01 ` Chiu, Chasel
2019-09-10 22:28 ` Nate DeSimone
1 sibling, 0 replies; 8+ messages in thread
From: Chiu, Chasel @ 2019-09-02 14:01 UTC (permalink / raw)
To: Zhang, Shenglei, devel@edk2.groups.io
Cc: Kubacki, Michael A, Desimone, Nathaniel L, Gao, Liming
Please extend copyright for files you touched, and one more update in below inline.
> -----Original Message-----
> From: Zhang, Shenglei
> Sent: Monday, September 2, 2019 8:35 PM
> To: devel@edk2.groups.io
> Cc: Kubacki, Michael A <michael.a.kubacki@intel.com>; Chiu, Chasel
> <chasel.chiu@intel.com>; Desimone, Nathaniel L
> <nathaniel.l.desimone@intel.com>; Gao, Liming <liming.gao@intel.com>
> 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
> allocating memory to what it points to.
>
> Cc: Michael Kubacki <michael.a.kubacki@intel.com>
> Cc: Chasel Chiu <chasel.chiu@intel.com>
> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
> ---
> .../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/DxeCheckB
> ootVariable.c
> b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckB
> ootVariable.c
> index 85bd5b3d..a9af33a3 100644
> ---
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckB
> ootVariable.c
> +++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh
> +++ eckBootVariable.c
> @@ -130,6 +130,9 @@ TestPointCheckLoadOptionVariable (
> for (ListIndex = 0; ListIndex <
> sizeof(mLoadOptionVariableList)/sizeof(mLoadOptionVariableList[0]);
> ListIndex++) {
> UnicodeSPrint (BootOrderName, sizeof(BootOrderName), L"%sOrder",
> mLoadOptionVariableList[ListIndex]);
> Status = GetVariable2 (BootOrderName, &gEfiGlobalVariableGuid,
> (VOID **)&BootOrder, &OrderSize);
> + if(BootOrder == NULL) {
> + return EFI_NOT_FOUND;;
> + }
Align indents with previous lines.
> if (EFI_ERROR(Status)) {
> continue;
> }
> @@ -222,6 +225,9 @@ TestPointCheckKeyOptionVariable (
> for (Index = 0; ; Index++) {
> UnicodeSPrint (KeyOptionName, sizeof(KeyOptionName), L"%s%04x",
> mKeyOptionVariableList[ListIndex], Index);
> Status = GetVariable2 (KeyOptionName, &gEfiGlobalVariableGuid,
> &Variable, &Size);
> + if(Variable == NULL) {
> + return EFI_NOT_FOUND;;
> + }
> if (!EFI_ERROR(Status)) {
> DumpKeyOption (KeyOptionName, Variable, Size);
> } else {
> diff --git
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckG
> cd.c
> b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckG
> cd.c
> index 82709d44..989606b6 100644
> ---
> a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckG
> cd.c
> +++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh
> +++ eckGcd.c
> @@ -241,7 +241,9 @@ TestPointDumpGcd (
> }
> }
> if (GcdMemoryMap != NULL) {
> - *GcdIoMap = AllocateCopyPool (NumberOfDescriptors *
> sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
> + if (GcdIoMap != NULL){
> + *GcdIoMap = AllocateCopyPool (NumberOfDescriptors *
> sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
> + }
> *GcdIoMapNumberOfDescriptors = NumberOfDescriptors;
> }
> }
> --
> 2.18.0.windows.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers
2019-09-02 12:34 ` [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers Zhang, Shenglei
2019-09-02 14:01 ` Chiu, Chasel
@ 2019-09-10 22:28 ` Nate DeSimone
1 sibling, 0 replies; 8+ messages in thread
From: Nate DeSimone @ 2019-09-10 22:28 UTC (permalink / raw)
To: Zhang, Shenglei, devel@edk2.groups.io
Cc: Kubacki, Michael A, Chiu, Chasel, Gao, Liming
Hi Shenglei,
Please send a second patch series with the copyrights updated.
Thanks,
Nate
-----Original Message-----
From: Zhang, Shenglei
Sent: Monday, September 2, 2019 5:35 AM
To: devel@edk2.groups.io
Cc: Kubacki, Michael A <michael.a.kubacki@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Gao, Liming <liming.gao@intel.com>
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 allocating memory to what it points to.
Cc: Michael Kubacki <michael.a.kubacki@intel.com>
Cc: Chasel Chiu <chasel.chiu@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>
---
.../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/DxeCheckBootVariable.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c
index 85bd5b3d..a9af33a3 100644
--- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c
+++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh
+++ eckBootVariable.c
@@ -130,6 +130,9 @@ TestPointCheckLoadOptionVariable (
for (ListIndex = 0; ListIndex < sizeof(mLoadOptionVariableList)/sizeof(mLoadOptionVariableList[0]); ListIndex++) {
UnicodeSPrint (BootOrderName, sizeof(BootOrderName), L"%sOrder", mLoadOptionVariableList[ListIndex]);
Status = GetVariable2 (BootOrderName, &gEfiGlobalVariableGuid, (VOID **)&BootOrder, &OrderSize);
+ if(BootOrder == NULL) {
+ return EFI_NOT_FOUND;;
+ }
if (EFI_ERROR(Status)) {
continue;
}
@@ -222,6 +225,9 @@ TestPointCheckKeyOptionVariable (
for (Index = 0; ; Index++) {
UnicodeSPrint (KeyOptionName, sizeof(KeyOptionName), L"%s%04x", mKeyOptionVariableList[ListIndex], Index);
Status = GetVariable2 (KeyOptionName, &gEfiGlobalVariableGuid, &Variable, &Size);
+ if(Variable == NULL) {
+ return EFI_NOT_FOUND;;
+ }
if (!EFI_ERROR(Status)) {
DumpKeyOption (KeyOptionName, Variable, Size);
} else {
diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c
index 82709d44..989606b6 100644
--- a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c
+++ b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh
+++ eckGcd.c
@@ -241,7 +241,9 @@ TestPointDumpGcd (
}
}
if (GcdMemoryMap != NULL) {
- *GcdIoMap = AllocateCopyPool (NumberOfDescriptors * sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
+ if (GcdIoMap != NULL){
+ *GcdIoMap = AllocateCopyPool (NumberOfDescriptors * sizeof(EFI_GCD_IO_SPACE_DESCRIPTOR), IoMap);
+ }
*GcdIoMapNumberOfDescriptors = NumberOfDescriptors;
}
}
--
2.18.0.windows.1
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-09-17 21:42 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-12 2:54 [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers Zhang, Shenglei
2019-09-12 18:54 ` Nate DeSimone
[not found] ` <15C3C5B9A4267C61.28831@groups.io>
2019-09-13 22:31 ` [edk2-devel] " Nate DeSimone
2019-09-17 3:36 ` Zhang, Shenglei
2019-09-17 21:42 ` Nate DeSimone
-- strict thread matches above, loose matches on Subject: below --
2019-09-02 12:34 [PATCH] MinPlatformPkg/SecFspWrapperPlatformSecLib: Change TopOfTemporaryRam type Zhang, Shenglei
2019-09-02 12:34 ` [PATCH] MinPlatformPkg/TestPointCheckLib: Add check for pointers Zhang, Shenglei
2019-09-02 14:01 ` Chiu, Chasel
2019-09-10 22:28 ` Nate DeSimone
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox