diff options
author | Matt Caswell <matt@openssl.org> | 2019-04-08 11:22:37 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2019-04-09 10:26:44 +0100 |
commit | b926f9deb3dc79d00f0a989370e95867516a3a17 (patch) | |
tree | e81cf9244282cc72b645fba6b62cbba5852d6ad9 | |
parent | d030892312a2e7076511205e7fe1a5eae98e5102 (diff) |
Fix crash in X509_STORE_CTX_get_by_subject
If using a custom X509_LOOKUP_METHOD then calls to
X509_STORE_CTX_get_by_subject may crash due to an incorrectly initialised
X509_OBJECT being passed to the callback get_by_subject function.
Fixes #8673
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/8698)
-rw-r--r-- | crypto/x509/x509_lu.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/crypto/x509/x509_lu.c b/crypto/x509/x509_lu.c index fa8153d3bc..e994633f25 100644 --- a/crypto/x509/x509_lu.c +++ b/crypto/x509/x509_lu.c @@ -297,6 +297,9 @@ int X509_STORE_CTX_get_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type, if (ctx == NULL) return 0; + stmp.type = X509_LU_NONE; + stmp.data.ptr = NULL; + CRYPTO_THREAD_write_lock(ctx->lock); tmp = X509_OBJECT_retrieve_by_subject(ctx->objs, type, name); CRYPTO_THREAD_unlock(ctx->lock); |