summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2011-07-27 16:40:21 -0400
committerSimo Sorce <idra@samba.org>2011-07-28 17:41:08 +0200
commite84c7a2e26d206f38bcb94d4d1b6c854cdd4094c (patch)
tree7b03f7c0070c9f16aa8fcd2ae2ddb53e65f5e76d
parent48a71664f21f50616749b467e6f082b6c20036a1 (diff)
downloadsamba-e84c7a2e26d206f38bcb94d4d1b6c854cdd4094c.tar.gz
samba-e84c7a2e26d206f38bcb94d4d1b6c854cdd4094c.tar.bz2
samba-e84c7a2e26d206f38bcb94d4d1b6c854cdd4094c.zip
s3-rpc_server: Use talloc for pipe_rpc_fns
Everything uses talloc in the rpc server nowadays, remove this ancient use of malloc. This also allows us to remove the free fucntion and let talloc handle it properly. Autobuild-User: Simo Sorce <idra@samba.org> Autobuild-Date: Thu Jul 28 17:41:08 CEST 2011 on sn-devel-104
-rw-r--r--source3/rpc_server/rpc_handles.c16
-rw-r--r--source3/rpc_server/rpc_ncacn_np.c7
-rw-r--r--source3/rpc_server/srv_pipe.c6
3 files changed, 7 insertions, 22 deletions
diff --git a/source3/rpc_server/rpc_handles.c b/source3/rpc_server/rpc_handles.c
index 19e7655221..87145ca848 100644
--- a/source3/rpc_server/rpc_handles.c
+++ b/source3/rpc_server/rpc_handles.c
@@ -107,20 +107,6 @@ bool check_open_pipes(void)
Close an rpc pipe.
****************************************************************************/
-static void free_pipe_rpc_context_internal(struct pipe_rpc_fns *list)
-{
- struct pipe_rpc_fns *tmp = list;
- struct pipe_rpc_fns *tmp2;
-
- while (tmp) {
- tmp2 = tmp->next;
- SAFE_FREE(tmp);
- tmp = tmp2;
- }
-
- return;
-}
-
int close_internal_rpc_pipe_hnd(struct pipes_struct *p)
{
if (!p) {
@@ -131,8 +117,6 @@ int close_internal_rpc_pipe_hnd(struct pipes_struct *p)
/* Free the handles database. */
close_policy_by_pipe(p);
- free_pipe_rpc_context_internal(p->contexts);
-
DLIST_REMOVE(InternalPipes, p);
return 0;
diff --git a/source3/rpc_server/rpc_ncacn_np.c b/source3/rpc_server/rpc_ncacn_np.c
index 2ed4a01704..1080a98eb4 100644
--- a/source3/rpc_server/rpc_ncacn_np.c
+++ b/source3/rpc_server/rpc_ncacn_np.c
@@ -80,10 +80,11 @@ struct pipes_struct *make_internal_rpc_pipe_p(TALLOC_CTX *mem_ctx,
return NULL;
}
- context_fns = SMB_MALLOC_P(struct pipe_rpc_fns);
+ context_fns = talloc(p, struct pipe_rpc_fns);
if (context_fns == NULL) {
- DEBUG(0,("malloc() failed!\n"));
- return False;
+ DEBUG(0,("talloc() failed!\n"));
+ TALLOC_FREE(p);
+ return NULL;
}
context_fns->next = context_fns->prev = NULL;
diff --git a/source3/rpc_server/srv_pipe.c b/source3/rpc_server/srv_pipe.c
index 233dfdf5b2..058f1b8b14 100644
--- a/source3/rpc_server/srv_pipe.c
+++ b/source3/rpc_server/srv_pipe.c
@@ -356,10 +356,10 @@ static bool check_bind_req(struct pipes_struct *p,
return false;
}
- context_fns = SMB_MALLOC_P(struct pipe_rpc_fns);
+ context_fns = talloc(p, struct pipe_rpc_fns);
if (context_fns == NULL) {
- DEBUG(0,("check_bind_req: malloc() failed!\n"));
- return False;
+ DEBUG(0,("check_bind_req: talloc() failed!\n"));
+ return false;
}
context_fns->next = context_fns->prev = NULL;