After commit 57df17fe26, some static check reports suspicous NULL pointer deference at line:
Entry->MachineType = Entry->Emulator->MachineType; ^^^^^^^^^^^^^^^ within function PeCoffEmuProtocolNotify(). However, 'Entry->Emulator' is guaranteed to have a non-NULL value when previous call to the CoreHandleProtocol() returns EFI_SUCCESS. Thus, in order to please the static checker, this commit will add an ASSERT right before the false-positive NULL pointer dereference report. Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> Cc: Michael D Kinney <michael.d.kin...@intel.com> Cc: Liming Gao <liming....@intel.com> Cc: Jian J Wang <jian.j.w...@intel.com> Signed-off-by: Hao Wu <hao.a...@intel.com> --- MdeModulePkg/Core/Dxe/Image/Image.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/MdeModulePkg/Core/Dxe/Image/Image.c b/MdeModulePkg/Core/Dxe/Image/Image.c index 08306a73fd..546fa96eee 100644 --- a/MdeModulePkg/Core/Dxe/Image/Image.c +++ b/MdeModulePkg/Core/Dxe/Image/Image.c @@ -166,6 +166,13 @@ PeCoffEmuProtocolNotify ( (VOID **)&Entry->Emulator ); ASSERT_EFI_ERROR (Status); + // + // When the above CoreHandleProtocol() call returns with EFI_SUCCESS, + // 'Entry->Emulator' is guaranteed to have a non-NULL value. + // The below ASSERT is for addressing a false positive NULL pointer + // dereference issue raised from static analysis. + // + ASSERT (Entry->Emulator != NULL) Entry->MachineType = Entry->Emulator->MachineType; -- 2.12.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#39362): https://edk2.groups.io/g/devel/message/39362 Mute This Topic: https://groups.io/mt/31271609/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-