summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2012-04-11 14:15:54 +0200
committerAndreas Schneider <asn@cryptomilk.org>2012-04-11 15:59:39 +0200
commitdba2ed9ac1710aff2ecc3e9f9463b786e90cd9e3 (patch)
tree718b508be9d37a6ec3ea1a4a8c9034b76ad44d44
parente02a788f6085cfa93e5b521ef4e0ced06e4353e3 (diff)
downloadsamba-dba2ed9ac1710aff2ecc3e9f9463b786e90cd9e3.tar.gz
samba-dba2ed9ac1710aff2ecc3e9f9463b786e90cd9e3.tar.bz2
samba-dba2ed9ac1710aff2ecc3e9f9463b786e90cd9e3.zip
s4-smb2: Fix a talloc crash bug.
The talloc context needs to be initialzed or NULL. So move talloc_steal() to the position where req is initialized. Autobuild-User: Andreas Schneider <asn@cryptomilk.org> Autobuild-Date: Wed Apr 11 15:59:39 CEST 2012 on sn-devel-104
-rw-r--r--source4/smb_server/smb2/receive.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/source4/smb_server/smb2/receive.c b/source4/smb_server/smb2/receive.c
index 3b54c977f2..19ab20b941 100644
--- a/source4/smb_server/smb2/receive.c
+++ b/source4/smb_server/smb2/receive.c
@@ -164,8 +164,6 @@ static void smb2srv_chain_reply(struct smb2srv_request *p_req)
uint32_t flags;
uint32_t last_hdr_offset;
- talloc_steal(req, p_req);
-
last_hdr_offset = p_req->in.hdr - p_req->in.buffer;
chain_offset = p_req->chain_offset;
@@ -192,6 +190,8 @@ static void smb2srv_chain_reply(struct smb2srv_request *p_req)
return;
}
+ talloc_steal(req, p_req);
+
req->in.buffer = talloc_steal(req, p_req->in.buffer);
req->in.size = p_req->in.size;
req->request_time = p_req->request_time;