diff options
author | Stefan Metzmacher <metze@samba.org> | 2018-05-24 17:40:27 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2018-06-14 20:52:22 +0200 |
commit | 44e3c03bc1943aaa6b7ba4b9f6c601252daf0942 (patch) | |
tree | c7fcb2957b7e57727f167950062be15a307a9079 /source3/rpc_server/srvsvc | |
parent | 36d3de023fa393461e56f7603f052abb8ca9b7fe (diff) | |
download | samba-44e3c03bc1943aaa6b7ba4b9f6c601252daf0942.tar.gz |
s3:rpc_server/srvsvc: add an explicit talloc_stackframe() to _srvsvc_NetGetFileSecurity()
This makes further changes simpler.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/rpc_server/srvsvc')
-rw-r--r-- | source3/rpc_server/srvsvc/srv_srvsvc_nt.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/source3/rpc_server/srvsvc/srv_srvsvc_nt.c b/source3/rpc_server/srvsvc/srv_srvsvc_nt.c index c25abf01ac9..3eb9734507d 100644 --- a/source3/rpc_server/srvsvc/srv_srvsvc_nt.c +++ b/source3/rpc_server/srvsvc/srv_srvsvc_nt.c @@ -2314,6 +2314,7 @@ WERROR _srvsvc_NetRemoteTOD(struct pipes_struct *p, WERROR _srvsvc_NetGetFileSecurity(struct pipes_struct *p, struct srvsvc_NetGetFileSecurity *r) { + TALLOC_CTX *frame = talloc_stackframe(); struct smb_filename *smb_fname = NULL; size_t sd_size; char *servicename = NULL; @@ -2333,7 +2334,7 @@ WERROR _srvsvc_NetGetFileSecurity(struct pipes_struct *p, werr = WERR_NERR_NETNAMENOTFOUND; goto error_exit; } - snum = find_service(talloc_tos(), r->in.share, &servicename); + snum = find_service(frame, r->in.share, &servicename); if (!servicename) { werr = WERR_NOT_ENOUGH_MEMORY; goto error_exit; @@ -2344,11 +2345,11 @@ WERROR _srvsvc_NetGetFileSecurity(struct pipes_struct *p, goto error_exit; } - nt_status = create_conn_struct_cwd(talloc_tos(), + nt_status = create_conn_struct_cwd(frame, server_event_context(), server_messaging_context(), &conn, - snum, lp_path(talloc_tos(), snum), + snum, lp_path(frame, snum), p->session_info, &oldcwd_fname); if (!NT_STATUS_IS_OK(nt_status)) { DEBUG(10, ("create_conn_struct failed: %s\n", @@ -2357,7 +2358,7 @@ WERROR _srvsvc_NetGetFileSecurity(struct pipes_struct *p, goto error_exit; } - nt_status = filename_convert(talloc_tos(), + nt_status = filename_convert(frame, conn, r->in.file, ucf_flags, @@ -2434,7 +2435,6 @@ error_exit: if (oldcwd_fname) { vfs_ChDir(conn, oldcwd_fname); - TALLOC_FREE(oldcwd_fname); } if (conn) { @@ -2442,8 +2442,7 @@ error_exit: conn_free(conn); } - TALLOC_FREE(smb_fname); - + TALLOC_FREE(frame); return werr; } |