diff options
author | Simo Sorce <idra@samba.org> | 2006-10-16 02:45:18 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:21:07 -0500 |
commit | 508a04fe579ae3fcb9480f8e951cb6eaaf620d19 (patch) | |
tree | edb1aaa11540793bc589ba7cc489a9ab6f15a13e /source4 | |
parent | 227831537ae5d50a36d21347cbec8940372859de (diff) | |
download | samba-508a04fe579ae3fcb9480f8e951cb6eaaf620d19.tar.gz samba-508a04fe579ae3fcb9480f8e951cb6eaaf620d19.tar.bz2 samba-508a04fe579ae3fcb9480f8e951cb6eaaf620d19.zip |
r19312: This should fix a nasty bug with values and names being freed before the results where used.
Seem that el is hanging out of a request, and the target is put on the final results.
Still one to catch and fix, but this seem to cure most of them
(This used to be commit bfeaa08fde805439dbda974be6fcb692957b00f1)
Diffstat (limited to 'source4')
-rw-r--r-- | source4/lib/ldb/modules/ldb_map_outbound.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source4/lib/ldb/modules/ldb_map_outbound.c b/source4/lib/ldb/modules/ldb_map_outbound.c index e1b207f6eb..02876eea55 100644 --- a/source4/lib/ldb/modules/ldb_map_outbound.c +++ b/source4/lib/ldb/modules/ldb_map_outbound.c @@ -202,7 +202,11 @@ static int ldb_msg_replace(struct ldb_message *msg, const struct ldb_message_ele } } - *old = *el; /* copy new element */ + /* copy new element */ + *old = *el; + /* and make sure we reference the contents */ + talloc_reference(msg->elements, el->name); + talloc_reference(msg->elements, el->values); return 0; } |