.../Test/Library/TestPointCheckLib/DxeCheckBootVariable.c | 6 +++--- .../Test/Library/TestPointCheckLib/DxeCheckGcd.c | 8 +++++--- 2 files changed, 8 insertions(+), 6 deletions(-)
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
v3: Fix the coding style.
v4: Update the logic in DxeCheckBootVariable.c.
We directly return when BootOrder/Variable == NULL, in previous versions.
v5: Update the format of copyright and the coding style.
.../Test/Library/TestPointCheckLib/DxeCheckBootVariable.c | 6 +++---
.../Test/Library/TestPointCheckLib/DxeCheckGcd.c | 8 +++++---
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckBootVariable.c
index 85bd5b3d..5437cf6a 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,7 +130,7 @@ 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 (EFI_ERROR(Status)) {
+ if (EFI_ERROR(Status) || (BootOrder == NULL)) {
continue;
}
for (Index = 0; Index < OrderSize/sizeof(CHAR16); Index++) {
@@ -222,7 +222,7 @@ TestPointCheckKeyOptionVariable (
for (Index = 0; ; Index++) {
UnicodeSPrint (KeyOptionName, sizeof(KeyOptionName), L"%s%04x", mKeyOptionVariableList[ListIndex], Index);
Status = GetVariable2 (KeyOptionName, &gEfiGlobalVariableGuid, &Variable, &Size);
- if (!EFI_ERROR(Status)) {
+ if (!EFI_ERROR(Status) && (Variable != NULL)) {
DumpKeyOption (KeyOptionName, Variable, Size);
} else {
break;
diff --git a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckGcd.c
index 82709d44..066121c7 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,11 +241,13 @@ 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;
}
}
-
+
if (DumpPrint) {
DEBUG ((DEBUG_INFO, "==== TestPointDumpGcd - Exit\n"));
}
--
2.18.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#47565): https://edk2.groups.io/g/devel/message/47565
Mute This Topic: https://groups.io/mt/34197426/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Please update commit message as the latest change does not return EFI_NOT_FOUND in DxeCheckBootVariable.c. With above updated, Reviewed-by: Chasel Chiu <chasel.chiu@intel.com> > -----Original Message----- > From: Zhang, Shenglei <shenglei.zhang@intel.com> > Sent: Thursday, September 19, 2019 4:08 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: [edk2-platforms PATCH v5] 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 > > v3: Fix the coding style. > > v4: Update the logic in DxeCheckBootVariable.c. > We directly return when BootOrder/Variable == NULL, in previous versions. > > v5: Update the format of copyright and the coding style. > > .../Test/Library/TestPointCheckLib/DxeCheckBootVariable.c | 6 +++--- > .../Test/Library/TestPointCheckLib/DxeCheckGcd.c | 8 +++++--- > 2 files changed, 8 insertions(+), 6 deletions(-) > > diff --git > a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckB > ootVariable.c > b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckB > ootVariable.c > index 85bd5b3d..5437cf6a 100644 > --- > a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckB > ootVariable.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,7 +130,7 @@ 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 (EFI_ERROR(Status)) { > + if (EFI_ERROR(Status) || (BootOrder == NULL)) { > continue; > } > for (Index = 0; Index < OrderSize/sizeof(CHAR16); Index++) { @@ -222,7 > +222,7 @@ TestPointCheckKeyOptionVariable ( > for (Index = 0; ; Index++) { > UnicodeSPrint (KeyOptionName, sizeof(KeyOptionName), L"%s%04x", > mKeyOptionVariableList[ListIndex], Index); > Status = GetVariable2 (KeyOptionName, &gEfiGlobalVariableGuid, > &Variable, &Size); > - if (!EFI_ERROR(Status)) { > + if (!EFI_ERROR(Status) && (Variable != NULL)) { > DumpKeyOption (KeyOptionName, Variable, Size); > } else { > break; > diff --git > a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckG > cd.c > b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckG > cd.c > index 82709d44..066121c7 100644 > --- > a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckG > cd.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,11 +241,13 @@ 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; > } > } > - > + > if (DumpPrint) { > DEBUG ((DEBUG_INFO, "==== TestPointDumpGcd - Exit\n")); > } > -- > 2.18.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#47577): https://edk2.groups.io/g/devel/message/47577 Mute This Topic: https://groups.io/mt/34197426/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
OK I'll update that then. Thanks, Shenglei > -----Original Message----- > From: Chiu, Chasel > Sent: Thursday, September 19, 2019 5:27 PM > To: Zhang, Shenglei <shenglei.zhang@intel.com>; devel@edk2.groups.io > Cc: Kubacki, Michael A <michael.a.kubacki@intel.com>; Desimone, Nathaniel L > <nathaniel.l.desimone@intel.com>; Gao, Liming <liming.gao@intel.com> > Subject: RE: [edk2-platforms PATCH v5] MinPlatformPkg/TestPointCheckLib: > Add check for pointers > > > Please update commit message as the latest change does not return > EFI_NOT_FOUND in DxeCheckBootVariable.c. > With above updated, Reviewed-by: Chasel Chiu <chasel.chiu@intel.com> > > > > -----Original Message----- > > From: Zhang, Shenglei <shenglei.zhang@intel.com> > > Sent: Thursday, September 19, 2019 4:08 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: [edk2-platforms PATCH v5] 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 > > > > v3: Fix the coding style. > > > > v4: Update the logic in DxeCheckBootVariable.c. > > We directly return when BootOrder/Variable == NULL, in previous versions. > > > > v5: Update the format of copyright and the coding style. > > > > .../Test/Library/TestPointCheckLib/DxeCheckBootVariable.c | 6 +++--- > > .../Test/Library/TestPointCheckLib/DxeCheckGcd.c | 8 +++++--- > > 2 files changed, 8 insertions(+), 6 deletions(-) > > > > diff --git > > a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckB > > ootVariable.c > > b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckB > > ootVariable.c > > index 85bd5b3d..5437cf6a 100644 > > --- > > a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckB > > ootVariable.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,7 +130,7 @@ 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 (EFI_ERROR(Status)) { > > + if (EFI_ERROR(Status) || (BootOrder == NULL)) { > > continue; > > } > > for (Index = 0; Index < OrderSize/sizeof(CHAR16); Index++) { @@ > -222,7 > > +222,7 @@ TestPointCheckKeyOptionVariable ( > > for (Index = 0; ; Index++) { > > UnicodeSPrint (KeyOptionName, sizeof(KeyOptionName), > L"%s%04x", > > mKeyOptionVariableList[ListIndex], Index); > > Status = GetVariable2 (KeyOptionName, &gEfiGlobalVariableGuid, > > &Variable, &Size); > > - if (!EFI_ERROR(Status)) { > > + if (!EFI_ERROR(Status) && (Variable != NULL)) { > > DumpKeyOption (KeyOptionName, Variable, Size); > > } else { > > break; > > diff --git > > a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckG > > cd.c > > b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckG > > cd.c > > index 82709d44..066121c7 100644 > > --- > > a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckG > > cd.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,11 +241,13 @@ 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; > > } > > } > > - > > + > > if (DumpPrint) { > > DEBUG ((DEBUG_INFO, "==== TestPointDumpGcd - Exit\n")); > > } > > -- > > 2.18.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#47604): https://edk2.groups.io/g/devel/message/47604 Mute This Topic: https://groups.io/mt/34197426/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2024 Red Hat, Inc.