]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_rtp_asterisk.c: Fix memory leak in ephemeral certificate creation.
authorSean Bright <sean@seanbright.com>
Wed, 25 Oct 2023 22:19:13 +0000 (18:19 -0400)
committerSean Bright <sean@seanbright.com>
Fri, 27 Oct 2023 15:53:27 +0000 (15:53 +0000)
Fixes #386

res/res_rtp_asterisk.c

index e9072805435db601fe9c81188bb820e4d2480c7a..a527df2d1ac12f76177db135424be5cb3160c5f8 100644 (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;