s_cb.c: Add missing return value checks
authorMrRurikov <96385824+MrRurikov@users.noreply.github.com>
Wed, 21 Feb 2024 08:11:34 +0000 (11:11 +0300)
committerTomas Mraz <tomas@openssl.org>
Thu, 22 Feb 2024 11:45:37 +0000 (12:45 +0100)
Return value of function 'SSL_CTX_ctrl', that is called from
SSL_CTX_set1_verify_cert_store() and SSL_CTX_set1_chain_cert_store(),
is not checked, but it is usually checked for this function.

CLA: trivial

Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23647)

(cherry picked from commit 6f794b461c6e16c8afb996ee190e084cbbddb6b8)

apps/lib/s_cb.c

index b27518c763f176ee2d6492be924eb0f389943d5a..818c5252647641a5953c3ed8b1bca7ceffa46afd 100644 (file)
@@ -1321,7 +1321,8 @@ int ssl_load_stores(SSL_CTX *ctx,
         if (vfyCAstore != NULL && !X509_STORE_load_store(vfy, vfyCAstore))
             goto err;
         add_crls_store(vfy, crls);
-        SSL_CTX_set1_verify_cert_store(ctx, vfy);
+        if (SSL_CTX_set1_verify_cert_store(ctx, vfy) == 0)
+            goto err;
         if (crl_download)
             store_setup_crl_download(vfy);
     }
@@ -1335,7 +1336,8 @@ int ssl_load_stores(SSL_CTX *ctx,
             goto err;
         if (chCAstore != NULL && !X509_STORE_load_store(ch, chCAstore))
             goto err;
-        SSL_CTX_set1_chain_cert_store(ctx, ch);
+        if (SSL_CTX_set1_chain_cert_store(ctx, ch) == 0)
+            goto err;
     }
     rv = 1;
  err: