From 00324f3fce83b8d813ca3ec6b6eb663a88a8675e Mon Sep 17 00:00:00 2001 From: Ruiyu Ni Date: Tue, 2 May 2017 15:55:04 +0800 Subject: [PATCH 1/1] ShellPkg/UefiHandleParsingLib: Fix memory leak Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni Signed-off-by: Chen A Chen Reviewed-by: Jaben Carsey --- ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c index c368d8cb21..da1d92fd17 100644 --- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c +++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c @@ -2331,7 +2331,9 @@ ConvertHandleIndexToHandle( // Verify that LinkWalker->TheHandle is valid handle // Status = gBS->ProtocolsPerHandle(ListWalker->TheHandle, &ProtocolBuffer, &ProtocolCount); - if (EFI_ERROR (Status)) { + if (!EFI_ERROR (Status)) { + FreePool (ProtocolBuffer); + } else { // // TheHandle is not valid, so do not add to handle list // -- 2.39.2