From 5b44130afad1bb1764d986de3ef0e8e04b0e7357 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 27 Sep 2004 01:36:19 +0000 Subject: 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) --- source4/smb_server/request.c | 4 ++-- source4/smb_server/trans2.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'source4/smb_server') 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); } -- cgit