diff options
author | Anatoliy Atanasov <anatoliy.atanasov@postpath.com> | 2010-06-24 20:48:07 +0300 |
---|---|---|
committer | Matthias Dieter Wallnöfer <mdw@samba.org> | 2010-06-30 09:17:44 +0200 |
commit | 6abfe8904a1024512c0ea8bb4844e4409e8d994b (patch) | |
tree | 6b7bbfd5d3a877493f596a8b52b1032bc72b2a45 | |
parent | 2821abee1f85c5d9a191a9880808b7022ac2e0b1 (diff) | |
download | samba-6abfe8904a1024512c0ea8bb4844e4409e8d994b.tar.gz samba-6abfe8904a1024512c0ea8bb4844e4409e8d994b.tar.bz2 samba-6abfe8904a1024512c0ea8bb4844e4409e8d994b.zip |
s4:schema/schema_set.c - free LDB message diffs
Especially the "free"s after "ldb_msg_diff" are very important since the diff
message is allocated on the long-living LDB context.
Signed-off-by: Matthias Dieter Wallnöfer <mdw@samba.org>
-rw-r--r-- | source4/dsdb/schema/schema_set.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source4/dsdb/schema/schema_set.c b/source4/dsdb/schema/schema_set.c index 0e04f5b35e..b5d8ae47f5 100644 --- a/source4/dsdb/schema/schema_set.c +++ b/source4/dsdb/schema/schema_set.c @@ -140,6 +140,7 @@ static int dsdb_schema_set_attributes(struct ldb_context *ldb, struct dsdb_schem if (mod_msg->num_elements > 0) { ret = dsdb_replace(ldb, mod_msg, 0); } + talloc_free(mod_msg); } if (ret == LDB_ERR_OPERATIONS_ERROR || ret == LDB_ERR_INSUFFICIENT_ACCESS_RIGHTS || ret == LDB_ERR_INVALID_DN_SYNTAX) { @@ -168,6 +169,7 @@ static int dsdb_schema_set_attributes(struct ldb_context *ldb, struct dsdb_schem if (mod_msg->num_elements > 0) { ret = dsdb_replace(ldb, mod_msg, 0); } + talloc_free(mod_msg); } if (ret == LDB_ERR_OPERATIONS_ERROR || ret == LDB_ERR_INSUFFICIENT_ACCESS_RIGHTS || ret == LDB_ERR_INVALID_DN_SYNTAX) { /* We might be on a read-only DB */ |