[edk2] [PATCH] ShellPkg/UefiHandleParsingLib: Fix memory leak

Ruiyu Ni posted 1 patch 7 years, 6 months ago
Failed in applying to current master (apply log)
ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
[edk2] [PATCH] ShellPkg/UefiHandleParsingLib: Fix memory leak
Posted by Ruiyu Ni 7 years, 6 months ago
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Signed-off-by: Chen A Chen <chen.a.chen@intel.com>
Cc: Jaben Carsey <jaben.carsey@intel.com>
---
 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.12.2.windows.2

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH] ShellPkg/UefiHandleParsingLib: Fix memory leak
Posted by Carsey, Jaben 7 years, 6 months ago
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

> -----Original Message-----
> From: Ni, Ruiyu
> Sent: Tuesday, May 02, 2017 2:34 AM
> To: edk2-devel@lists.01.org
> Cc: Chen, Chen A <chen.a.chen@intel.com>; Carsey, Jaben
> <jaben.carsey@intel.com>
> Subject: [PATCH] ShellPkg/UefiHandleParsingLib: Fix memory leak
> Importance: High
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
> Signed-off-by: Chen A Chen <chen.a.chen@intel.com>
> Cc: Jaben Carsey <jaben.carsey@intel.com>
> ---
>  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.12.2.windows.2

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel