s4:extended_dn_store LDB module - use the new request as generic memory contexts
authorMatthias Dieter Wallnöfer <mdw@samba.org>
Sun, 6 Mar 2011 20:46:02 +0000 (21:46 +0100)
committerMatthias Dieter Wallnöfer <mdw@samba.org>
Thu, 10 Mar 2011 10:12:05 +0000 (11:12 +0100)
To prevent memory leaks under valgrind.

source4/dsdb/samdb/ldb_modules/extended_dn_store.c

index b4f71e931921fcdb404bef5d3f8854747f4abcf6..c4235201d9bb0d5b2de046cfd28959b25a6ddb1e 100644 (file)
@@ -345,7 +345,7 @@ static int extended_dn_add(struct ldb_module *module, struct ldb_request *req)
                /* Re-calculate el */
                el = &ac->new_req->op.add.message->elements[i];
                for (j = 0; j < el->num_values; j++) {
-                       ret = extended_store_replace(ac, ac->new_req->op.add.message->elements, &el->values[j],
+                       ret = extended_store_replace(ac, ac->new_req, &el->values[j],
                                                     false, schema_attr->syntax->ldap_oid);
                        if (ret != LDB_SUCCESS) {
                                return ret;
@@ -429,7 +429,7 @@ static int extended_dn_modify(struct ldb_module *module, struct ldb_request *req
                         * input of an extended DN */
                        bool is_delete = (LDB_FLAG_MOD_TYPE(el->flags) == LDB_FLAG_MOD_DELETE);
 
-                       ret = extended_store_replace(ac, req->op.mod.message->elements, &el->values[j],
+                       ret = extended_store_replace(ac, ac->new_req, &el->values[j],
                                                     is_delete, schema_attr->syntax->ldap_oid);
                        if (ret != LDB_SUCCESS) {
                                talloc_free(ac);