Michael,
> -----Original Message----- > From: Kubacki, Michael A > Sent: Friday, August 23, 2019 7:54 PM > To: devel@edk2.groups.io > Cc: Ni, Ray <ray...@intel.com>; Chaganty, Rangasai V > <rangasai.v.chaga...@intel.com> > Subject: [edk2-platforms][PATCH V1 1/1] IntelSiliconPkg/IntelVTdDxe: Fix NULL > pointer dereference > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2116 > > Cc: Ray Ni <ray...@intel.com> > Cc: Rangasai V Chaganty <rangasai.v.chaga...@intel.com> > Signed-off-by: Michael Kubacki <michael.a.kuba...@intel.com> > --- > Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmaProtection.c | 19 > +++++++++++-------- > 1 file changed, 11 insertions(+), 8 deletions(-) > > diff --git > a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmaProtection.c > b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmaProtection.c > index 956ebb2d3d..9b6135ef94 100644 > --- a/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmaProtection.c > +++ b/Silicon/Intel/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmaProtection.c > @@ -158,10 +158,13 @@ ProcessRequestedAccessAttribute ( > } > > /** > - return the UEFI memory information. > + Return UEFI memory map information. > + > + @param[out] Below4GMemoryLimit The below 4GiB memory limit address or 0 > if insufficient resources exist to > + determine the address. > + @param[out] Above4GMemoryLimit The above 4GiB memory limit address or 0 > if insufficient resources exist to > + determine the address. > > - @param[out] Below4GMemoryLimit The below 4GiB memory limit > - @param[out] Above4GMemoryLimit The above 4GiB memory limit > **/ > VOID > ReturnUefiMemoryMap ( > @@ -206,7 +209,11 @@ ReturnUefiMemoryMap ( > // we process bogus entries and create bogus E820 entries. > // > EfiMemoryMap = (EFI_MEMORY_DESCRIPTOR *) AllocatePool (EfiMemoryMapSize); > - ASSERT (EfiMemoryMap != NULL); > + if (EfiMemoryMap == NULL) { > + ASSERT (EfiMemoryMap != NULL); Above line may trigger a unreachable code error from some static code scanner. How about move assertion to the line before if? > + return; > + } > + > Status = gBS->GetMemoryMap ( > &EfiMemoryMapSize, > EfiMemoryMap, > @@ -218,7 +225,6 @@ ReturnUefiMemoryMap ( > FreePool (EfiMemoryMap); > } > } while (Status == EFI_BUFFER_TOO_SMALL); > - > ASSERT_EFI_ERROR (Status); > > // > @@ -242,9 +248,6 @@ ReturnUefiMemoryMap ( > NextEfiEntry = NEXT_MEMORY_DESCRIPTOR (EfiEntry, EfiDescriptorSize); > } > > - // > - // > - // > DEBUG ((DEBUG_INFO, "MemoryMap:\n")); > EfiEntry = EfiMemoryMap; > EfiMemoryMapEnd = (EFI_MEMORY_DESCRIPTOR *) ((UINT8 *) EfiMemoryMap + > EfiMemoryMapSize); > -- > 2.16.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#46387): https://edk2.groups.io/g/devel/message/46387 Mute This Topic: https://groups.io/mt/33008546/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-