Introduce a FreeCACert label near the end of the function, so that we can
keep the FreePool(CACert) statement centralized for error and success
exits.

Cc: Jiaxin Wu <jiaxin...@intel.com>
Cc: Siyuan Fu <siyuan...@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <ler...@redhat.com>
---
 NetworkPkg/HttpDxe/HttpsSupport.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/NetworkPkg/HttpDxe/HttpsSupport.c 
b/NetworkPkg/HttpDxe/HttpsSupport.c
index 5105a2014c25..9103987a0e4c 100644
--- a/NetworkPkg/HttpDxe/HttpsSupport.c
+++ b/NetworkPkg/HttpDxe/HttpsSupport.c
@@ -425,9 +425,8 @@ TlsConfigCertificate (
     // GetVariable still error or the variable is corrupted.
     // Fall back to the default value.
     //
-    FreePool (CACert);
-
-    return EFI_NOT_FOUND;
+    Status = EFI_NOT_FOUND;
+    goto FreeCACert;
   }
 
   ASSERT (CACert != NULL);
@@ -451,8 +450,7 @@ TlsConfigCertificate (
                                                  CertList->SignatureSize - 
sizeof (Cert->SignatureOwner)
                                                  );
       if (EFI_ERROR (Status)) {
-        FreePool (CACert);
-        return Status;
+        goto FreeCACert;
       }
 
       Cert = (EFI_SIGNATURE_DATA *) ((UINT8 *) Cert + CertList->SignatureSize);
@@ -462,6 +460,7 @@ TlsConfigCertificate (
     CertList = (EFI_SIGNATURE_LIST *) ((UINT8 *) CertList + 
CertList->SignatureListSize);
   }
 
+FreeCACert:
   FreePool (CACert);
   return Status;
 }
-- 
2.14.1.3.gb7cf6e02401b


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

Reply via email to