summaryrefslogtreecommitdiff
path: root/source4/libnet/libnet_domain.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2012-04-23 17:27:02 +1000
committerAndrew Bartlett <abartlet@samba.org>2012-04-23 20:48:02 +1000
commit4f7666f97120a01e5bbbf335cf3effbddd2b5cd2 (patch)
tree530b93ad719b09064febdbf5da48ffcc2cc1b178 /source4/libnet/libnet_domain.c
parent3ffd0f8423ce5d6bf3c9dd06c9402193c00c33b1 (diff)
downloadsamba-4f7666f97120a01e5bbbf335cf3effbddd2b5cd2.tar.gz
samba-4f7666f97120a01e5bbbf335cf3effbddd2b5cd2.tar.bz2
samba-4f7666f97120a01e5bbbf335cf3effbddd2b5cd2.zip
s4-libnet Always return after composite_error()
This can and does cause crashes as multiple conflicting sets of callbacks run on memory that may have been destroyed. Andrew Bartlett
Diffstat (limited to 'source4/libnet/libnet_domain.c')
-rw-r--r--source4/libnet/libnet_domain.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/source4/libnet/libnet_domain.c b/source4/libnet/libnet_domain.c
index d2b96958ee..acd2ece7a9 100644
--- a/source4/libnet/libnet_domain.c
+++ b/source4/libnet/libnet_domain.c
@@ -1137,6 +1137,7 @@ static void continue_samr_close_handle(struct tevent_req *subreq)
/* did everything go fine ? */
if (!NT_STATUS_IS_OK(s->samrclose.out.result)) {
composite_error(c, s->samrclose.out.result);
+ return;
}
composite_done(c);