diff --git a/ssl/d1_both.c b/ssl/d1_both.c index 0a5c08d71..0781a4b67 100644 --- a/ssl/d1_both.c +++ b/ssl/d1_both.c @@ -888,6 +888,8 @@ unsigned long dtls1_output_cert_chain(SSL *s, X509 *x) } X509_verify_cert(&xs_ctx); + /* Don't leave errors in the queue */ + ERR_clear_error(); for (i=0; i < sk_X509_num(xs_ctx.chain); i++) { x = sk_X509_value(xs_ctx.chain, i); diff --git a/ssl/s3_both.c b/ssl/s3_both.c index 7f462250c..869a25d47 100644 --- a/ssl/s3_both.c +++ b/ssl/s3_both.c @@ -354,6 +354,8 @@ unsigned long ssl3_output_cert_chain(SSL *s, X509 *x) return(0); } X509_verify_cert(&xs_ctx); + /* Don't leave errors in the queue */ + ERR_clear_error(); for (i=0; i < sk_X509_num(xs_ctx.chain); i++) { x = sk_X509_value(xs_ctx.chain, i); diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index 16fda5d8b..361cd9c97 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -753,6 +753,8 @@ int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stack, sk_X509_NAME_push(stack,xn); } + ERR_clear_error(); + if (0) { err: