diff options
author | Simo Sorce <idra@samba.org> | 2011-07-27 16:40:21 -0400 |
---|---|---|
committer | Simo Sorce <idra@samba.org> | 2011-07-28 17:41:08 +0200 |
commit | e84c7a2e26d206f38bcb94d4d1b6c854cdd4094c (patch) | |
tree | 7b03f7c0070c9f16aa8fcd2ae2ddb53e65f5e76d | |
parent | 48a71664f21f50616749b467e6f082b6c20036a1 (diff) | |
download | samba-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.c | 16 | ||||
-rw-r--r-- | source3/rpc_server/rpc_ncacn_np.c | 7 | ||||
-rw-r--r-- | source3/rpc_server/srv_pipe.c | 6 |
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; |