From: Dr. Stephen Henson Date: Wed, 24 Mar 2010 23:16:49 +0000 (+0000) Subject: PR: 1731 and maybe 2197 X-Git-Tag: OpenSSL_1_0_0~10 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=7b52778eff258cc67bfcfb04cabfa9583dcad187;p=oweals%2Fopenssl.git PR: 1731 and maybe 2197 Clear error queue in a few places in SSL code where errors are expected so they don't stay in the queue. --- diff --git a/ssl/d1_both.c b/ssl/d1_both.c index 7ca3405efb..0242f1e4da 100644 --- a/ssl/d1_both.c +++ b/ssl/d1_both.c @@ -886,6 +886,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 16d92610e9..a6d869df59 100644 --- a/ssl/s3_both.c +++ b/ssl/s3_both.c @@ -352,6 +352,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 be51b42f23..27256eea81 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -755,6 +755,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: