s4: use ldb_msg_new(), not talloc/talloc_zero
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Mon, 15 Apr 2019 11:20:46 +0000 (23:20 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 10 May 2019 01:15:17 +0000 (01:15 +0000)
ldb_msg_new() is currently the same as talloc_zero(), but it might
not always be.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/dsdb/samdb/ldb_modules/dirsync.c
source4/ldap_server/ldap_backend.c
source4/lib/registry/ldb.c

index 0d46e2a625455b2467489c9372e2e772f8813a79..74a107c847696592d5de890161ec1409b7871dbf 100644 (file)
@@ -150,7 +150,7 @@ static int dirsync_filter_entry(struct ldb_request *req,
         * list only the attribute that have been modified since last interogation
         *
         */
-       newmsg = talloc_zero(dsc->req, struct ldb_message);
+       newmsg = ldb_msg_new(dsc->req);
        if (newmsg == NULL) {
                return ldb_oom(ldb);
        }
index 39f1aa2a2a6248af2175adcacd510b577d6e3fbd..9f72734f973f1b1397830cabe147382fe6f471f9 100644 (file)
@@ -799,12 +799,10 @@ static NTSTATUS ldapsrv_ModifyRequest(struct ldapsrv_call *call)
 
        DEBUG(10, ("ModifyRequest: dn: [%s]\n", req->dn));
 
-       msg = talloc(local_ctx, struct ldb_message);
+       msg = ldb_msg_new(local_ctx);
        NT_STATUS_HAVE_NO_MEMORY(msg);
 
        msg->dn = dn;
-       msg->num_elements = 0;
-       msg->elements = NULL;
 
        if (req->num_mods > 0) {
                msg->num_elements = req->num_mods;
index ec293c46149b6c2bea8688d3e532c4e9e1a3b606..d0e9f46f4e118bf8ebf066a0e24a9197a22a8ca4 100644 (file)
@@ -142,7 +142,7 @@ static struct ldb_message *reg_ldb_pack_value(struct ldb_context *ctx,
        char *name_dup, *type_str;
        int ret;
 
-       msg = talloc_zero(mem_ctx, struct ldb_message);
+       msg = ldb_msg_new(mem_ctx);
        if (msg == NULL) {
                return NULL;
        }
@@ -658,7 +658,7 @@ static WERROR ldb_del_value(TALLOC_CTX *mem_ctx, struct hive_key *key,
 
        if (child[0] == '\0') {
                /* default value */
-               msg = talloc_zero(mem_ctx, struct ldb_message);
+               msg = ldb_msg_new(mem_ctx);
                W_ERROR_HAVE_NO_MEMORY(msg);
                msg->dn = ldb_dn_copy(msg, kd->dn);
                W_ERROR_HAVE_NO_MEMORY(msg->dn);