From cc26a2cb3162845bf51d41ea8cd1c438ffa6c50a Mon Sep 17 00:00:00 2001 From: Mike Maslenkin Date: Thu, 31 Aug 2023 17:10:32 -0700 Subject: MdeModulePkg/Core/Dxe: Fix memory leak issue in FwVolBlock.c FvbDev->LbaCache must be freed on error path before freeing FvbDev. Cc: Jian J Wang Cc: Dandan Bi Cc: Liming Gao Signed-off-by: Mike Maslenkin Reviewed-by: Michael D Kinney Reviewed-by: Liming Gao --- MdeModulePkg/Core/Dxe/FwVolBlock/FwVolBlock.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MdeModulePkg/Core/Dxe/FwVolBlock/FwVolBlock.c b/MdeModulePkg/Core/Dxe/FwVolBlock/FwVolBlock.c index d81334c..9f5f40e 100644 --- a/MdeModulePkg/Core/Dxe/FwVolBlock/FwVolBlock.c +++ b/MdeModulePkg/Core/Dxe/FwVolBlock/FwVolBlock.c @@ -551,6 +551,7 @@ ProduceFVBProtocolOnBuffer ( // FvbDev->DevicePath = (EFI_DEVICE_PATH_PROTOCOL *)AllocateCopyPool (sizeof (FV_MEMMAP_DEVICE_PATH), &mFvMemmapDevicePathTemplate); if (FvbDev->DevicePath == NULL) { + FreePool (FvbDev->LbaCache); FreePool (FvbDev); return EFI_OUT_OF_RESOURCES; } @@ -563,6 +564,7 @@ ProduceFVBProtocolOnBuffer ( // FvbDev->DevicePath = (EFI_DEVICE_PATH_PROTOCOL *)AllocateCopyPool (sizeof (FV_PIWG_DEVICE_PATH), &mFvPIWGDevicePathTemplate); if (FvbDev->DevicePath == NULL) { + FreePool (FvbDev->LbaCache); FreePool (FvbDev); return EFI_OUT_OF_RESOURCES; } -- cgit v1.1