summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>2021-08-27 18:33:56 +0200
committerDr. David von Oheimb <dev@ddvo.net>2022-01-07 10:40:44 +0100
commit7c64ca71c2ceeb1d47e8499bd351de7d0078ce37 (patch)
tree9b06502cb263c15623512df80ff6d3cffa2fd23f /crypto
parentd4d8f163db1d32c98d8f956e6966263a7a22fac1 (diff)
OSSL_STORE_open_ex(): Prevent spurious error: unregistered scheme=file
Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16452)
Diffstat (limited to 'crypto')
-rw-r--r--crypto/store/store_lib.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/crypto/store/store_lib.c b/crypto/store/store_lib.c
index 42722a2560..4efa7eea03 100644
--- a/crypto/store/store_lib.c
+++ b/crypto/store/store_lib.c
@@ -114,13 +114,17 @@ OSSL_STORE_open_ex(const char *uri, OSSL_LIB_CTX *libctx, const char *propq,
scheme = schemes[i];
OSSL_TRACE1(STORE, "Looking up scheme %s\n", scheme);
#ifndef OPENSSL_NO_DEPRECATED_3_0
+ ERR_set_mark();
if ((loader = ossl_store_get0_loader_int(scheme)) != NULL) {
+ ERR_clear_last_mark();
no_loader_found = 0;
if (loader->open_ex != NULL)
loader_ctx = loader->open_ex(loader, uri, libctx, propq,
ui_method, ui_data);
else
loader_ctx = loader->open(loader, uri, ui_method, ui_data);
+ } else {
+ ERR_pop_to_mark();
}
#endif
if (loader == NULL