]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ldb: check return values
authorAndrej Gessel <Andrej.Gessel@janztec.com>
Fri, 15 Jun 2018 09:02:15 +0000 (11:02 +0200)
committerJeremy Allison <jra@samba.org>
Sat, 23 Jun 2018 00:00:28 +0000 (02:00 +0200)
Signed-off-by: Andrej Gessel <Andrej.Gessel@janztec.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
lib/ldb/ldb_tdb/ldb_index.c
lib/ldb/ldb_tdb/ldb_search.c

index d59b4b16290838b66bc75758cc018fe19115c14a..9ef786f3a9b1f81ad6125e809bbb8e0ee1d066f8 100644 (file)
@@ -450,6 +450,10 @@ normal_index:
 
                list->count = el->values[0].length / LTDB_GUID_SIZE;
                list->dn = talloc_array(list, struct ldb_val, list->count);
+               if (list->dn == NULL) {
+                       talloc_free(msg);
+                       return LDB_ERR_OPERATIONS_ERROR;
+               }
 
                /*
                 * The actual data is on msg, due to
@@ -715,6 +719,9 @@ static int ltdb_dn_list_store(struct ldb_module *module, struct ldb_dn *dn,
        }
 
        key.dptr = discard_const_p(unsigned char, ldb_dn_get_linearized(dn));
+       if (key.dptr == NULL) {
+               return LDB_ERR_OPERATIONS_ERROR;
+       }
        key.dsize = strlen((char *)key.dptr);
 
        rec = tdb_fetch(ltdb->idxptr->itdb, key);
index 18f84056e663ee69233bc7d4e1b6bbe3389100a3..832be9a598b4e7f63a8e55d89a2b5b17327fbd9d 100644 (file)
@@ -102,8 +102,11 @@ static int msg_add_distinguished_name(struct ldb_message *msg)
        el.values = &val;
        el.flags = 0;
        val.data = (uint8_t *)ldb_dn_alloc_linearized(msg, msg->dn);
+       if (val.data == NULL) {
+               return -1;
+       }
        val.length = strlen((char *)val.data);
-       
+
        ret = msg_add_element(msg, &el, 1);
        return ret;
 }