> -----Original Message----- > From: Gao, Zhichao > Sent: Tuesday, June 25, 2019 11:23 AM > To: devel@edk2.groups.io > Cc: Wang, Jian J; Wu, Hao A; Ni, Ray; Zeng, Star > Subject: [PATCH] MdeModulePkg/CapsulePei: Add memory pointer check > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1935 > > Before use the memory that is allocated through AllocateZeroPool, > we should check the memory pointer is valid to avoid using the > NULL pointer. > Add check for VariableArrayAddress that is returned from > GetScatterGatherHeadEntries. If it is NULL, directly return > the error status. > > Cc: Jian J Wang <jian.j.w...@intel.com> > Cc: Hao A Wu <hao.a...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Star Zeng <star.z...@intel.com> > Signed-off-by: Zhichao Gao <zhichao....@intel.com> > --- > MdeModulePkg/Universal/CapsulePei/UefiCapsule.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/MdeModulePkg/Universal/CapsulePei/UefiCapsule.c > b/MdeModulePkg/Universal/CapsulePei/UefiCapsule.c > index 8d4ae69bb2..51afab7b05 100644 > --- a/MdeModulePkg/Universal/CapsulePei/UefiCapsule.c > +++ b/MdeModulePkg/Universal/CapsulePei/UefiCapsule.c > @@ -965,6 +965,10 @@ GetScatterGatherHeadEntries ( > // > if ((ValidIndex + 1) >= TempListLength) { > EnlargedTempList = AllocateZeroPool (TempListLength * 2); > + if (EnlargedTempList == NULL) { > + DEBUG ((DEBUG_ERROR, "Fail to allocate memory!\n")); > + return EFI_OUT_OF_RESOURCES; > + } > CopyMem (EnlargedTempList, TempList, TempListLength); > FreePool (TempList); > TempList = EnlargedTempList; > @@ -1056,7 +1060,7 @@ CapsuleCoalesce ( > // Get SG list entries > // > Status = GetScatterGatherHeadEntries (&ListLength, > &VariableArrayAddress); > - if (EFI_ERROR (Status)) { > + if (EFI_ERROR (Status) || VariableArrayAddress == NULL) {
Reviewed-by: Hao A Wu <hao.a...@intel.com> Best Regards, Hao Wu > DEBUG ((DEBUG_ERROR, "%a failed to get Scatter Gather List Head Entries. > Status = %r\n", __FUNCTION__, Status)); > goto Done; > } > -- > 2.21.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#42779): https://edk2.groups.io/g/devel/message/42779 Mute This Topic: https://groups.io/mt/32199972/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-