make sure no error is left in the queue that is intentionally ignored
authorBodo Möller <bodo@openssl.org>
Mon, 11 Aug 2003 18:56:22 +0000 (18:56 +0000)
committerBodo Möller <bodo@openssl.org>
Mon, 11 Aug 2003 18:56:22 +0000 (18:56 +0000)
ssl/ssl_rsa.c

index 03828b6..3303905 100644 (file)
@@ -207,7 +207,7 @@ static int ssl_set_pkey(CERT *c, EVP_PKEY *pkey)
                         ok=1;
                else
 #endif
-                       if (!X509_check_private_key(c->pkeys[i].x509,pkey))
+                    if (!X509_check_private_key(c->pkeys[i].x509,pkey))
                        {
                        if ((i == SSL_PKEY_DH_RSA) || (i == SSL_PKEY_DH_DSA))
                                {
@@ -241,6 +241,8 @@ static int ssl_set_pkey(CERT *c, EVP_PKEY *pkey)
                return(0);
                }
 
+       ERR_clear_error(); /* make sure no error from X509_check_private_key()
+                           * is left if we have chosen to ignore it */
        if (c->pkeys[i].privatekey != NULL)
                EVP_PKEY_free(c->pkeys[i].privatekey);
        CRYPTO_add(&pkey->references,1,CRYPTO_LOCK_EVP_PKEY);