From: afshinpir Date: Wed, 28 Feb 2024 03:58:03 +0000 (+1300) Subject: Adding missing NULL pointer check X-Git-Tag: openssl-3.4.0-alpha1~693 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bd73e1e62c4103e0faffb79cb3d34a2a92a95439;p=thirdparty%2Fopenssl.git Adding missing NULL pointer check CLA: trivial In the provider store API, it is not necessary to provide both open and attach method at the same time and providing at least one of them is enough. Adding some null pointer checks to prevent exceptions in case of not providing both methods at the same time. Reviewed-by: Tom Cosgrove Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/23703) --- diff --git a/crypto/store/store_lib.c b/crypto/store/store_lib.c index b8109f20f9b..15ebf351102 100644 --- a/crypto/store/store_lib.c +++ b/crypto/store/store_lib.c @@ -149,8 +149,8 @@ OSSL_STORE_open_ex(const char *uri, OSSL_LIB_CTX *libctx, const char *propq, ossl_pw_passphrase_callback_dec, &pwdata); } else { - loader_ctx = fetched_loader->p_open(provctx, uri); - if (loader_ctx != NULL && + if (fetched_loader->p_open != NULL && + (loader_ctx = fetched_loader->p_open(provctx, uri)) != NULL && !loader_set_params(fetched_loader, loader_ctx, params, propq)) { (void)fetched_loader->p_close(loader_ctx); @@ -1044,6 +1044,7 @@ OSSL_STORE_CTX *OSSL_STORE_attach(BIO *bp, const char *scheme, OSSL_CORE_BIO *cbio = ossl_core_bio_new_from_bio(bp); if (cbio == NULL + || fetched_loader->p_attach == NULL || (loader_ctx = fetched_loader->p_attach(provctx, cbio)) == NULL) { OSSL_STORE_LOADER_free(fetched_loader); fetched_loader = NULL;