diff options
author | Volker Lendecke <vl@samba.org> | 2008-06-20 16:22:49 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2008-06-21 10:34:34 +0200 |
commit | df905a5d77037eaffe5f52edd26409152b740068 (patch) | |
tree | 38a6aecee872febee70cb2c804a89873b3fc7bf7 /source3/rpc_server/srv_pipe_hnd.c | |
parent | c203de0e3a6f5b2254bc5c308cf87e6a7b67cad8 (diff) | |
download | samba-df905a5d77037eaffe5f52edd26409152b740068.tar.gz samba-df905a5d77037eaffe5f52edd26409152b740068.tar.bz2 samba-df905a5d77037eaffe5f52edd26409152b740068.zip |
Make pipes_struct its own talloc ctx
(This used to be commit 829b1ad4697f2f1ea008377d591456722dccd025)
Diffstat (limited to 'source3/rpc_server/srv_pipe_hnd.c')
-rw-r--r-- | source3/rpc_server/srv_pipe_hnd.c | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/source3/rpc_server/srv_pipe_hnd.c b/source3/rpc_server/srv_pipe_hnd.c index 2e03d01c93..22903aacba 100644 --- a/source3/rpc_server/srv_pipe_hnd.c +++ b/source3/rpc_server/srv_pipe_hnd.c @@ -279,33 +279,23 @@ static void *make_internal_rpc_pipe_p(const char *pipe_name, return NULL; } - p = SMB_MALLOC_P(pipes_struct); + p = TALLOC_ZERO_P(NULL, pipes_struct); if (!p) { DEBUG(0,("ERROR! no memory for pipes_struct!\n")); return NULL; } - ZERO_STRUCTP(p); - if ((p->mem_ctx = talloc_init("pipe %s %p", pipe_name, p)) == NULL) { DEBUG(0,("open_rpc_pipe_p: talloc_init failed.\n")); - SAFE_FREE(p); - return NULL; - } - - if ((p->pipe_state_mem_ctx = talloc_init("pipe_state %s %p", pipe_name, p)) == NULL) { - DEBUG(0,("open_rpc_pipe_p: talloc_init failed.\n")); - talloc_destroy(p->mem_ctx); - SAFE_FREE(p); + TALLOC_FREE(p); return NULL; } if (!init_pipe_handle_list(p, pipe_name)) { DEBUG(0,("open_rpc_pipe_p: init_pipe_handles failed.\n")); talloc_destroy(p->mem_ctx); - talloc_destroy(p->pipe_state_mem_ctx); - SAFE_FREE(p); + TALLOC_FREE(p); return NULL; } @@ -319,9 +309,8 @@ static void *make_internal_rpc_pipe_p(const char *pipe_name, if(!prs_init(&p->in_data.data, RPC_MAX_PDU_FRAG_LEN, p->mem_ctx, MARSHALL)) { DEBUG(0,("open_rpc_pipe_p: malloc fail for in_data struct.\n")); talloc_destroy(p->mem_ctx); - talloc_destroy(p->pipe_state_mem_ctx); close_policy_by_pipe(p); - SAFE_FREE(p); + TALLOC_FREE(p); return NULL; } @@ -1214,10 +1203,6 @@ static bool close_internal_rpc_pipe_hnd(void *np_conn) talloc_destroy(p->mem_ctx); } - if (p->pipe_state_mem_ctx) { - talloc_destroy(p->pipe_state_mem_ctx); - } - free_pipe_rpc_context( p->contexts ); /* Free the handles database. */ @@ -1231,7 +1216,7 @@ static bool close_internal_rpc_pipe_hnd(void *np_conn) ZERO_STRUCTP(p); - SAFE_FREE(p); + TALLOC_FREE(p); return True; } |