[openssl] master update

Dr. Paul Dale pauli at openssl.org
Sat Apr 6 09:17:23 UTC 2019


The branch master has been updated
       via  23dc8feba817560485da00d690d7b7b9e5b15682 (commit)
      from  6ce84e64102c9df984e3a00af12eb797c398563f (commit)


- Log -----------------------------------------------------------------
commit 23dc8feba817560485da00d690d7b7b9e5b15682
Author: FdaSilvaYY <fdasilvayy at gmail.com>
Date:   Sat Apr 6 19:16:59 2019 +1000

    Coverity: fix two minor NPD issues.
    Found by Coverity.
    
    Reviewed-by: Matt Caswell <matt at openssl.org>
    Reviewed-by: Tim Hudson <tjh at openssl.org>
    Reviewed-by: Paul Dale <paul.dale at oracle.com>
    (Merged from https://github.com/openssl/openssl/pull/8274)

-----------------------------------------------------------------------

Summary of changes:
 crypto/conf/conf_lib.c | 6 ++++--
 crypto/ex_data.c       | 9 +++++++--
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/crypto/conf/conf_lib.c b/crypto/conf/conf_lib.c
index 606563a..13d061b 100644
--- a/crypto/conf/conf_lib.c
+++ b/crypto/conf/conf_lib.c
@@ -356,8 +356,10 @@ OPENSSL_INIT_SETTINGS *OPENSSL_INIT_new(void)
 {
     OPENSSL_INIT_SETTINGS *ret = malloc(sizeof(*ret));
 
-    if (ret != NULL)
-        memset(ret, 0, sizeof(*ret));
+    if (ret == NULL)
+        return NULL;
+
+    memset(ret, 0, sizeof(*ret));
     ret->flags = DEFAULT_CONF_MFLAGS;
 
     return ret;
diff --git a/crypto/ex_data.c b/crypto/ex_data.c
index a728bfb..5f83191 100644
--- a/crypto/ex_data.c
+++ b/crypto/ex_data.c
@@ -235,7 +235,7 @@ int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad)
         return 0;
     }
     for (i = 0; i < mx; i++) {
-        if (storage[i] && storage[i]->new_func) {
+        if (storage[i] != NULL && storage[i]->new_func != NULL) {
             ptr = CRYPTO_get_ex_data(ad, i);
             storage[i]->new_func(obj, ptr, ad, i,
                                  storage[i]->argl, storage[i]->argp);
@@ -299,7 +299,7 @@ int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to,
 
     for (i = 0; i < mx; i++) {
         ptr = CRYPTO_get_ex_data(from, i);
-        if (storage[i] && storage[i]->dup_func)
+        if (storage[i] != NULL && storage[i]->dup_func != NULL)
             if (!storage[i]->dup_func(to, from, &ptr, i,
                                       storage[i]->argl, storage[i]->argp))
                 goto err;
@@ -380,6 +380,8 @@ int CRYPTO_alloc_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad,
         return 1;
 
     ip = get_and_lock(class_index);
+    if (ip == NULL)
+        return 0;
     f = sk_EX_CALLBACK_value(ip->meth, idx);
     CRYPTO_THREAD_unlock(ex_data_lock);
 
@@ -387,6 +389,9 @@ int CRYPTO_alloc_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad,
      * This should end up calling CRYPTO_set_ex_data(), which allocates
      * everything necessary to support placing the new data in the right spot.
      */
+    if (f->new_func == NULL)
+        return 0;
+
     f->new_func(obj, curval, ad, idx, f->argl, f->argp);
 
     return 1;


More information about the openssl-commits mailing list