Initialize new callbacks and make sure hent is always initialized.
diff --git a/crypto/x509/by_dir.c b/crypto/x509/by_dir.c index 098e868..b0a4afa 100644 --- a/crypto/x509/by_dir.c +++ b/crypto/x509/by_dir.c
@@ -352,7 +352,10 @@ CRYPTO_r_unlock(CRYPTO_LOCK_X509_STORE); } else + { k = 0; + hent = NULL; + } for (;;) { char c = '/';
diff --git a/crypto/x509/x509_lu.c b/crypto/x509/x509_lu.c index ead1e0b..e29c35c 100644 --- a/crypto/x509/x509_lu.c +++ b/crypto/x509/x509_lu.c
@@ -196,6 +196,8 @@ ret->get_crl = 0; ret->check_crl = 0; ret->cert_crl = 0; + ret->lookup_certs = 0; + ret->lookup_crls = 0; ret->cleanup = 0; CRYPTO_new_ex_data(CRYPTO_EX_INDEX_X509_STORE, ret, &ret->ex_data);