From 81386086beffe21f7fe0ea8d8bde0eeae43e8f00 Mon Sep 17 00:00:00 2001 From: Sean Bright Date: Wed, 25 Oct 2023 18:19:13 -0400 Subject: [PATCH] res_rtp_asterisk.c: Fix memory leak in ephemeral certificate creation. Fixes #386 (cherry picked from commit 74a5c452de6f78e3182c65603cb8c27fe1287b92) --- res/res_rtp_asterisk.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index 8bfa2711b8..c641641bbf 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -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; -- 2.47.2