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 <jiaxin.wu@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
This commit is contained in:
Laszlo Ersek 2018-03-22 10:31:55 +01:00
parent 1ba4a4df39
commit 6f3487a79b
1 changed files with 4 additions and 5 deletions

View File

@ -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;
}