summaryrefslogtreecommitdiff
path: root/Cryptlib/OpenSSL/crypto/engine/eng_table.c
diff options
context:
space:
mode:
authorMatthew Garrett <mjg@redhat.com>2012-07-02 12:33:42 -0400
committerMatthew Garrett <mjg@redhat.com>2012-07-02 12:33:42 -0400
commitd259b1406044b430fe5786cd57e272bb9c57166d (patch)
tree308e31c8b7338e11843ac324ce20b89d765c3f45 /Cryptlib/OpenSSL/crypto/engine/eng_table.c
parent20094cb55d476c5d053cc73cec6e0d3f2a1c8d9a (diff)
downloadefi-boot-shim-d259b1406044b430fe5786cd57e272bb9c57166d.tar.gz
efi-boot-shim-d259b1406044b430fe5786cd57e272bb9c57166d.zip
Update OpenSSL
Diffstat (limited to 'Cryptlib/OpenSSL/crypto/engine/eng_table.c')
-rwxr-xr-xCryptlib/OpenSSL/crypto/engine/eng_table.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_table.c b/Cryptlib/OpenSSL/crypto/engine/eng_table.c
index 8879a267..8fc47b33 100755
--- a/Cryptlib/OpenSSL/crypto/engine/eng_table.c
+++ b/Cryptlib/OpenSSL/crypto/engine/eng_table.c
@@ -237,6 +237,7 @@ ENGINE *engine_table_select_tmp(ENGINE_TABLE **table, int nid, const char *f, in
#endif
return NULL;
}
+ ERR_set_mark();
CRYPTO_w_lock(CRYPTO_LOCK_ENGINE);
/* Check again inside the lock otherwise we could race against cleanup
* operations. But don't worry about a fprintf(stderr). */
@@ -310,6 +311,6 @@ end:
CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE);
/* Whatever happened, any failed init()s are not failures in this
* context, so clear our error state. */
- ERR_clear_error();
+ ERR_pop_to_mark();
return ret;
}