From 1cc0fae8d9e2681fc6a33e5602ce8368809f9465 Mon Sep 17 00:00:00 2001 From: Mike Maslenkin Date: Sat, 27 Apr 2024 12:14:36 +0300 Subject: [PATCH] MdeModulePkg/RamDiskDxe: fix memory leak on error path. This patch fixes a leak of memory allocated for the RAM disk in cases when an error occurred while reading contents of a file from disk or RamDiskRegister() returned some error condition. Signed-off-by: Mike Maslenkin --- MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.c b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.c index 60cf3c8c4a..2dac121c47 100644 --- a/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.c +++ b/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskImpl.c @@ -404,7 +404,8 @@ HiiCreateRamDisk ( ); } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN); - return EFI_DEVICE_ERROR; + Status = EFI_DEVICE_ERROR; + goto ErrorExit; } } @@ -431,7 +432,7 @@ HiiCreateRamDisk ( ); } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN); - return Status; + goto ErrorExit; } // @@ -442,6 +443,10 @@ HiiCreateRamDisk ( PrivateData->CreateMethod = RamDiskCreateHii; return EFI_SUCCESS; + +ErrorExit: + gBS->FreePool (StartingAddr); + return Status; } /**