X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=ssl%2Fssl_cert.c;h=2f47eaf5109bf15b65b7e39bedb7e3f1d15cfea7;hp=bb07175dcf607f1ca357c26d179f075a25fa3fe6;hb=508c53522145ccd59b330e789a07470c79e87770;hpb=52b8dad8ec6eb0dcada52851af5f9498af7a91be diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index bb07175dcf..2f47eaf510 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -502,9 +502,6 @@ int ssl_verify_cert_chain(SSL *s,STACK_OF(X509) *sk) SSLerr(SSL_F_SSL_VERIFY_CERT_CHAIN,ERR_R_X509_LIB); return(0); } - if (s->param) - X509_VERIFY_PARAM_inherit(X509_STORE_CTX_get0_param(&ctx), - s->param); #if 0 if (SSL_get_verify_depth(s) >= 0) X509_STORE_CTX_set_depth(&ctx, SSL_get_verify_depth(s)); @@ -518,6 +515,12 @@ int ssl_verify_cert_chain(SSL *s,STACK_OF(X509) *sk) X509_STORE_CTX_set_default(&ctx, s->server ? "ssl_client" : "ssl_server"); + /* Anything non-default in "param" should overwrite anything in the + * ctx. + */ + if (s->param) + X509_VERIFY_PARAM_set1(X509_STORE_CTX_get0_param(&ctx), + s->param); if (s->verify_callback) X509_STORE_CTX_set_verify_cb(&ctx, s->verify_callback); @@ -764,7 +767,7 @@ err: if(x != NULL) X509_free(x); - sk_X509_NAME_set_cmp_func(stack,oldcmp); + (void)sk_X509_NAME_set_cmp_func(stack,oldcmp); return ret; }