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
commite21cbf4d9bafebb2560d1acac1e47e879c7f7493 (patch)
tree308e31c8b7338e11843ac324ce20b89d765c3f45 /Cryptlib/OpenSSL/crypto/engine/eng_table.c
parent5b1bf5583c3b6b523446b2b938f5f8355f488052 (diff)
downloadefi-boot-shim-e21cbf4d9bafebb2560d1acac1e47e879c7f7493.tar.gz
efi-boot-shim-e21cbf4d9bafebb2560d1acac1e47e879c7f7493.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;
}