aboutsummaryrefslogtreecommitdiffstats
path: root/ext/openssl/ossl_pkey.c
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2016-07-07 12:54:43 +0900
committerKazuki Yamaguchi <k@rhe.jp>2016-08-17 01:23:22 +0900
commit155f7b82c6aebfa182af31e13c92780af157c2e4 (patch)
treef8b5f2520d74b0e8b36a498b05b360f5618b7802 /ext/openssl/ossl_pkey.c
parent241de26fa95161506ddd710341dd760b2f9b136a (diff)
downloadruby-openssl-155f7b82c6aebfa182af31e13c92780af157c2e4.tar.gz
pkey: clear OpenSSL error queue on PKey::PKey#verify failuretopic/pkey-rsa-verify-error-queue
Similar to 0789643d7333 or 9af69abcec15, EVP_VerifyFinal() may put an error to the error queue when the verification failed.
Diffstat (limited to 'ext/openssl/ossl_pkey.c')
-rw-r--r--ext/openssl/ossl_pkey.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/ext/openssl/ossl_pkey.c b/ext/openssl/ossl_pkey.c
index 7b237337..8b165831 100644
--- a/ext/openssl/ossl_pkey.c
+++ b/ext/openssl/ossl_pkey.c
@@ -321,6 +321,7 @@ ossl_pkey_verify(VALUE self, VALUE digest, VALUE sig, VALUE data)
EVP_MD_CTX_free(ctx);
switch (result) {
case 0:
+ ossl_clear_error();
return Qfalse;
case 1:
return Qtrue;