summaryrefslogtreecommitdiffstats
path: root/ssl
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2010-03-24 23:16:49 +0000
committerDr. Stephen Henson <steve@openssl.org>2010-03-24 23:16:49 +0000
commit7b52778eff258cc67bfcfb04cabfa9583dcad187 (patch)
tree96cd5737d1e1d8132133ab5abc2adc38ed0db6d9 /ssl
parent162de2f2b513723b46b94f9e6963857205558e0f (diff)
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.
Diffstat (limited to 'ssl')
-rw-r--r--ssl/d1_both.c2
-rw-r--r--ssl/s3_both.c2
-rw-r--r--ssl/ssl_cert.c2
3 files changed, 6 insertions, 0 deletions
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: