Fix SSL_use_certificate_chain_file
The new function SSL_use_certificate_chain_file was always crashing in the internal function use_certificate_chain_file because it would pass a NULL value for SSL_CTX *, but use_certificate_chain_file would unconditionally try to dereference it. Reviewed-by: Stephen Henson <steve@openssl.org>
This commit is contained in:
@@ -366,6 +366,9 @@ SSL *SSL_new(SSL_CTX *ctx)
|
||||
|
||||
s->verify_result = X509_V_OK;
|
||||
|
||||
s->default_passwd_callback = ctx->default_passwd_callback;
|
||||
s->default_passwd_callback_userdata = ctx->default_passwd_callback_userdata;
|
||||
|
||||
s->method = ctx->method;
|
||||
|
||||
if (!s->method->ssl_new(s))
|
||||
@@ -1846,6 +1849,16 @@ void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u)
|
||||
ctx->default_passwd_callback_userdata = u;
|
||||
}
|
||||
|
||||
void SSL_set_default_passwd_cb(SSL *s, pem_password_cb *cb)
|
||||
{
|
||||
s->default_passwd_callback = cb;
|
||||
}
|
||||
|
||||
void SSL_set_default_passwd_cb_userdata(SSL *s, void *u)
|
||||
{
|
||||
s->default_passwd_callback_userdata = u;
|
||||
}
|
||||
|
||||
void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx,
|
||||
int (*cb) (X509_STORE_CTX *, void *),
|
||||
void *arg)
|
||||
@@ -2535,6 +2548,9 @@ SSL *SSL_dup(SSL *s)
|
||||
* ret->init_off */
|
||||
ret->hit = s->hit;
|
||||
|
||||
ret->default_passwd_callback = s->default_passwd_callback;
|
||||
ret->default_passwd_callback_userdata = s->default_passwd_callback_userdata;
|
||||
|
||||
X509_VERIFY_PARAM_inherit(ret->param, s->param);
|
||||
|
||||
/* dup the cipher_list and cipher_list_by_id stacks */
|
||||
|
Reference in New Issue
Block a user