ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
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
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
© 2016 - 2024 Red Hat, Inc.