From 736c7538412a7e9abd85cc7bc95c48f72bed4d56 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 18 Mar 2003 23:51:18 +0000 Subject: [PATCH] Ensure dev in make_connection is const. Jeremy. (This used to be commit e8155fade61e9dc308a82f442453803160c36806) --- source3/rpc_server/srv_srvsvc_nt.c | 2 +- source3/smbd/service.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/source3/rpc_server/srv_srvsvc_nt.c b/source3/rpc_server/srv_srvsvc_nt.c index 815dd75d226..4d9130fb970 100644 --- a/source3/rpc_server/srv_srvsvc_nt.c +++ b/source3/rpc_server/srv_srvsvc_nt.c @@ -1869,7 +1869,7 @@ WERROR _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC r_u->status = WERR_ACCESS_DENIED; goto error_exit; } - became_user = True; + became_user = True; unistr2_to_ascii(filename, &q_u->uni_file_name, sizeof(filename)); unix_convert(filename, conn, NULL, &bad_path, &st); diff --git a/source3/smbd/service.c b/source3/smbd/service.c index dc471ab87e9..f67361e66a3 100644 --- a/source3/smbd/service.c +++ b/source3/smbd/service.c @@ -326,14 +326,17 @@ static void set_admin_user(connection_struct *conn, gid_t *groups, size_t n_grou static connection_struct *make_connection_snum(int snum, user_struct *vuser, DATA_BLOB password, - fstring dev, NTSTATUS *status) + const char *pdev, NTSTATUS *status) { struct passwd *pass = NULL; BOOL guest = False; connection_struct *conn; struct stat st; fstring user; + fstring dev; + *user = 0; + fstrcpy(dev, pdev); if (NT_STATUS_IS_ERR(*status = share_sanity_checks(snum, dev))) { return NULL; @@ -717,7 +720,7 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser, **************************************************************************************/ connection_struct *make_connection_with_chdir(const char *service_in, DATA_BLOB password, - char *dev, uint16 vuid, NTSTATUS *status) + const char *dev, uint16 vuid, NTSTATUS *status) { connection_struct *conn = NULL; @@ -747,13 +750,16 @@ connection_struct *make_connection_with_chdir(const char *service_in, DATA_BLOB ****************************************************************************/ connection_struct *make_connection(const char *service_in, DATA_BLOB password, - fstring dev, uint16 vuid, NTSTATUS *status) + const char *pdev, uint16 vuid, NTSTATUS *status) { uid_t euid; user_struct *vuser = NULL; fstring service; + fstring dev; int snum = -1; + fstrcpy(dev, pdev); + /* This must ONLY BE CALLED AS ROOT. As it exits this function as root. */ if (!non_root_mode() && (euid = geteuid()) != 0) { DEBUG(0,("make_connection: PANIC ERROR. Called as nonroot (%u)\n", (unsigned int)euid ));