Free an X509_CRL in an error path
authorMatt Caswell <matt@openssl.org>
Tue, 26 Apr 2016 17:28:03 +0000 (18:28 +0100)
committerMatt Caswell <matt@openssl.org>
Wed, 1 Jun 2016 13:51:36 +0000 (14:51 +0100)
Reviewed-by: Richard Levitte <levitte@openssl.org>
apps/apps.c

index a3e1794c31d7b1eccd3d201973db3ab4cffa88bc..fca3775b770fe51e646e01ad95281268861b40b3 100644 (file)
@@ -1984,8 +1984,10 @@ static STACK_OF(X509_CRL) *crls_http_cb(X509_STORE_CTX *ctx, X509_NAME *nm)
     crldp = X509_get_ext_d2i(x, NID_crl_distribution_points, NULL, NULL);
     crl = load_crl_crldp(crldp);
     sk_DIST_POINT_pop_free(crldp, DIST_POINT_free);
-    if (!crl)
+    if (!crl) {
+        sk_X509_CRL_free(crls);
         return NULL;
+    }
     sk_X509_CRL_push(crls, crl);
     /* Try to download delta CRL */
     crldp = X509_get_ext_d2i(x, NID_freshest_crl, NULL, NULL);