From 6f3487a79b41e72782c5baea996c294b4ce38960 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Thu, 22 Mar 2018 10:31:55 +0100 Subject: [PATCH] NetworkPkg/HttpDxe: use error handler epilogue in TlsConfigCertificate() 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 Cc: Siyuan Fu Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek Reviewed-by: Fu Siyuan Reviewed-by: Jiaxin Wu --- 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 5105a2014c..9103987a0e 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.39.2