summaryrefslogtreecommitdiff
path: root/source4/smb_server
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-09-27 01:36:19 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:59:20 -0500
commit5b44130afad1bb1764d986de3ef0e8e04b0e7357 (patch)
treeafea820fdfd1021b5ee55b2fa37ba1b32d334e46 /source4/smb_server
parentf095a8e748a87de9f4cde117df13e8dccd8aeaa9 (diff)
downloadsamba-5b44130afad1bb1764d986de3ef0e8e04b0e7357.tar.gz
samba-5b44130afad1bb1764d986de3ef0e8e04b0e7357.tar.bz2
samba-5b44130afad1bb1764d986de3ef0e8e04b0e7357.zip
r2671: we're getting too many errors caused by the talloc_realloc() API not
taking a context (so when you pass a NULL pointer you end up with memory in a top level context). Fixed it by changing the API to take a context. The context is only used if the pointer you are reallocing is NULL. (This used to be commit 8dc23821c9f54b2f13049b5e608a0cafb81aa540)
Diffstat (limited to 'source4/smb_server')
-rw-r--r--source4/smb_server/request.c4
-rw-r--r--source4/smb_server/trans2.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/source4/smb_server/request.c b/source4/smb_server/request.c
index 3d78c0a55d..5c1694f18a 100644
--- a/source4/smb_server/request.c
+++ b/source4/smb_server/request.c
@@ -72,7 +72,7 @@ static void req_setup_chain_reply(struct smbsrv_request *req, uint_t wct, uint_t
/* over allocate by a small amount */
req->out.allocated = req->out.size + REQ_OVER_ALLOCATION;
- req->out.buffer = talloc_realloc(req->out.buffer, req->out.allocated);
+ req->out.buffer = talloc_realloc(req, req->out.buffer, req->out.allocated);
if (!req->out.buffer) {
smbsrv_terminate_connection(req->smb_conn, "allocation failed");
}
@@ -186,7 +186,7 @@ static void req_grow_allocation(struct smbsrv_request *req, uint_t new_size)
/* we need to realloc */
req->out.allocated = req->out.size + delta + REQ_OVER_ALLOCATION;
- buf2 = talloc_realloc(req->out.buffer, req->out.allocated);
+ buf2 = talloc_realloc(req, req->out.buffer, req->out.allocated);
if (buf2 == NULL) {
smb_panic("out of memory in req_grow_allocation");
}
diff --git a/source4/smb_server/trans2.c b/source4/smb_server/trans2.c
index e681c9fe29..34e79061df 100644
--- a/source4/smb_server/trans2.c
+++ b/source4/smb_server/trans2.c
@@ -39,7 +39,7 @@ static void trans2_grow_data_allocation(struct smbsrv_request *req,
if (new_size <= trans->out.data.length) {
return;
}
- trans->out.data.data = talloc_realloc(trans->out.data.data, new_size);
+ trans->out.data.data = talloc_realloc(req, trans->out.data.data, new_size);
}