From 33d03540d7c54e75d3d645b19ea7142782974b86 Mon Sep 17 00:00:00 2001 From: atishkov Date: Fri, 21 Jul 2023 11:36:37 +0300 Subject: [PATCH] get_cert_by_subject_ex(): Check result of X509_STORE_lock() Reviewed-by: Paul Dale Reviewed-by: Tom Cosgrove Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/21515) (cherry picked from commit bc5d9cc8711e86d5c25b81c58dfae531536e61fc) --- crypto/x509/by_dir.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/x509/by_dir.c b/crypto/x509/by_dir.c index 97e6ea0ee18..63213ca2c82 100644 --- a/crypto/x509/by_dir.c +++ b/crypto/x509/by_dir.c @@ -349,7 +349,8 @@ static int get_cert_by_subject_ex(X509_LOOKUP *xl, X509_LOOKUP_TYPE type, * we have added it to the cache so now pull it out again */ if (k > 0) { - X509_STORE_lock(xl->store_ctx); + if (!X509_STORE_lock(xl->store_ctx)) + goto finish; j = sk_X509_OBJECT_find(xl->store_ctx->objs, &stmp); tmp = sk_X509_OBJECT_value(xl->store_ctx->objs, j); X509_STORE_unlock(xl->store_ctx); -- 2.47.2