failf(data, SSL_CLIENT_CERT_ERR);
EVP_PKEY_free(pri);
X509_free(x509);
+ sk_X509_pop_free(ca, X509_free);
return 0;
}
cert_file);
EVP_PKEY_free(pri);
X509_free(x509);
+ sk_X509_pop_free(ca, X509_free);
return 0;
}
"does not match certificate in same file", cert_file);
EVP_PKEY_free(pri);
X509_free(x509);
+ sk_X509_pop_free(ca, X509_free);
return 0;
}
/* Set Certificate Verification chain */
failf(data, "cannot add certificate to certificate chain");
EVP_PKEY_free(pri);
X509_free(x509);
+ sk_X509_pop_free(ca, X509_free);
return 0;
}
if(!SSL_CTX_add_client_CA(ctx, sk_X509_value(ca, i))) {
failf(data, "cannot add certificate to client CA list");
EVP_PKEY_free(pri);
X509_free(x509);
+ sk_X509_pop_free(ca, X509_free);
return 0;
}
}
EVP_PKEY_free(pri);
X509_free(x509);
+ sk_X509_pop_free(ca, X509_free);
cert_done = 1;
break;
#else