Original code refers FreePoolHdr without check Status. It is obvious wrong and has risk.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Zeng, Star <star.z...@intel.com> Reviewed-by: Yao, Jiewen <jiewen....@intel.com> Cc: Fan, Jeff <jeff....@intel.com> Cc: Kinney, Michael D <michael.d.kin...@intel.com> --- MdeModulePkg/Core/PiSmmCore/Pool.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MdeModulePkg/Core/PiSmmCore/Pool.c b/MdeModulePkg/Core/PiSmmCore/Pool.c index 34dcc93..8b696d1 100644 --- a/MdeModulePkg/Core/PiSmmCore/Pool.c +++ b/MdeModulePkg/Core/PiSmmCore/Pool.c @@ -228,7 +228,9 @@ SmmInternalAllocatePool ( } Status = InternalAllocPoolByIndex (PoolIndex, &FreePoolHdr); - *Buffer = &FreePoolHdr->Header + 1; + if (!EFI_ERROR(Status)) { + *Buffer = &FreePoolHdr->Header + 1; + } return Status; } -- 1.9.5.msysgit.0 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel