summaryrefslogtreecommitdiff
path: root/source4/librpc/rpc
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2009-07-01 14:08:13 +1000
committerAndrew Tridgell <tridge@samba.org>2009-07-01 15:15:37 +1000
commit386211a81ce9091db0d6dbb711dc656af412c649 (patch)
treee90ff0640c43e2c1108a8068899612640a6bc9ce /source4/librpc/rpc
parent08ed6a2281121a4acca29d4f40d6959449ec9eab (diff)
downloadsamba-386211a81ce9091db0d6dbb711dc656af412c649.tar.gz
samba-386211a81ce9091db0d6dbb711dc656af412c649.tar.bz2
samba-386211a81ce9091db0d6dbb711dc656af412c649.zip
A rather strange varient of talloc_unlink
A dcerpc request may have a reference from a still completing async callback, but we now consider the request to be complete. We want to lose the main parent, leaving just the reference, if any.
Diffstat (limited to 'source4/librpc/rpc')
-rw-r--r--source4/librpc/rpc/dcerpc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c
index 13f649cdd9..0ae56a470e 100644
--- a/source4/librpc/rpc/dcerpc.c
+++ b/source4/librpc/rpc/dcerpc.c
@@ -1144,7 +1144,7 @@ NTSTATUS dcerpc_request_recv(struct rpc_request *req,
if (NT_STATUS_EQUAL(status, NT_STATUS_NET_WRITE_FAULT)) {
req->p->last_fault_code = req->fault_code;
}
- talloc_free(req);
+ talloc_unlink(talloc_parent(req), req);
return status;
}