res_rtp_asterisk.c: Fix memory leak in ephemeral certificate creation.

Fixes #386

(cherry picked from commit deeb1acffe)
This commit is contained in:
Sean Bright 2023-10-25 18:19:13 -04:00 committed by Asterisk Development Team
parent 58f78d2d0e
commit ea74f942ce
1 changed files with 3 additions and 1 deletions

View File

@ -2029,9 +2029,12 @@ static int create_ephemeral_certificate(EVP_PKEY *keypair, X509 **certificate)
if (!(serial = BN_new())
|| !BN_rand(serial, SERIAL_RAND_BITS, -1, 0)
|| !BN_to_ASN1_INTEGER(serial, X509_get_serialNumber(cert))) {
BN_free(serial);
goto error;
}
BN_free(serial);
/*
* Validity period - Current Chrome & Firefox make it 31 days starting
* with yesterday at the current time, so we will do the same.
@ -2066,7 +2069,6 @@ static int create_ephemeral_certificate(EVP_PKEY *keypair, X509 **certificate)
return 0;
error:
BN_free(serial);
X509_free(cert);
return -1;