[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-unstable-427-gf4cc9ca

Jeremy Allison jra at samba.org
Sat Dec 1 18:53:52 GMT 2007


The branch, v3-2-test has been updated
       via  f4cc9cab518e97c1049aaad7516aba212ae15c95 (commit)
       via  156c7f10bb63a610f85b52242cfd1b67bfa73c29 (commit)
       via  edce7bd7a9dd1064ba8aec34b334c7395228f40b (commit)
       via  1be19f07889ae09f79030f1ff8f2cf5e9a3d9dc5 (commit)
      from  37f00926c29c22f27e7192c1fff0a08ce136cb86 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit f4cc9cab518e97c1049aaad7516aba212ae15c95
Author: Volker Lendecke <vl at sernet.de>
Date:   Sat Dec 1 15:01:01 2007 +0100

    In nttransact_create, we also need to check for delete readonly

commit 156c7f10bb63a610f85b52242cfd1b67bfa73c29
Author: Volker Lendecke <vl at sernet.de>
Date:   Sat Dec 1 11:43:12 2007 +0100

    Fix some C++ warnings

commit edce7bd7a9dd1064ba8aec34b334c7395228f40b
Author: Volker Lendecke <vl at sernet.de>
Date:   Sat Dec 1 11:43:00 2007 +0100

    Fix an uninitialized variable

commit 1be19f07889ae09f79030f1ff8f2cf5e9a3d9dc5
Author: Volker Lendecke <vl at sernet.de>
Date:   Sat Dec 1 11:42:32 2007 +0100

    Fix some C++ warnings
    
    I think were are actually bugs.

-----------------------------------------------------------------------

Summary of changes:
 source/libsmb/clifile.c             |    2 +-
 source/libsmb/libsmbclient.c        |    2 +-
 source/rpc_server/srv_eventlog_nt.c |   25 ++++++++++---------------
 source/rpcclient/cmd_spoolss.c      |   12 +++---------
 source/smbd/nttrans.c               |    3 ++-
 5 files changed, 17 insertions(+), 27 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/libsmb/clifile.c b/source/libsmb/clifile.c
index e438b6d..cd50cfc 100644
--- a/source/libsmb/clifile.c
+++ b/source/libsmb/clifile.c
@@ -1478,7 +1478,7 @@ int cli_ctemp(struct cli_state *cli, const char *path, char **tmp_path)
 	if (len <= 0 || len > PATH_MAX) return -1;
 
 	if (tmp_path) {
-		char *path2 = SMB_MALLOC(len+1);
+		char *path2 = SMB_MALLOC_ARRAY(char, len+1);
 		if (!path2) {
 			return -1;
 		}
diff --git a/source/libsmb/libsmbclient.c b/source/libsmb/libsmbclient.c
index 26ff339..b654ea0 100644
--- a/source/libsmb/libsmbclient.c
+++ b/source/libsmb/libsmbclient.c
@@ -4172,7 +4172,7 @@ convert_string_to_sid(struct cli_state *ipc_cli,
 	enum lsa_SidType *types = NULL;
 	DOM_SID *sids = NULL;
 	bool result = True;
-	TALLOC_CTX *ctx;
+	TALLOC_CTX *ctx = NULL;
 	struct rpc_pipe_client *pipe_hnd = find_lsa_pipe_hnd(ipc_cli);
 
 	if (!pipe_hnd) {
diff --git a/source/rpc_server/srv_eventlog_nt.c b/source/rpc_server/srv_eventlog_nt.c
index cd06be1..3c9c835 100644
--- a/source/rpc_server/srv_eventlog_nt.c
+++ b/source/rpc_server/srv_eventlog_nt.c
@@ -355,18 +355,16 @@ static Eventlog_entry *get_eventlog_record(prs_struct *ps,
 	   into it's 2nd argment for 'B' */
 
 	if (wpcomputer) {
-		ee->data_record.computer_name = TALLOC_MEMDUP(ee,
-							wpcomputer,
-							ee->data_record.computer_name_len);
+		ee->data_record.computer_name = (smb_ucs2_t *)TALLOC_MEMDUP(
+			ee, wpcomputer, ee->data_record.computer_name_len);
 		if (!ee->data_record.computer_name) {
 			TALLOC_FREE(ee);
 			goto out;
 		}
 	}
 	if (wpsource) {
-		ee->data_record.source_name = TALLOC_MEMDUP(ee,
-							wpsource,
-							ee->data_record.source_name_len);
+		ee->data_record.source_name = (smb_ucs2_t *)TALLOC_MEMDUP(
+			ee, wpsource, ee->data_record.source_name_len);
 		if (!ee->data_record.source_name) {
 			TALLOC_FREE(ee);
 			goto out;
@@ -374,18 +372,16 @@ static Eventlog_entry *get_eventlog_record(prs_struct *ps,
 	}
 
 	if (wpsid) {
-		ee->data_record.sid = TALLOC_MEMDUP(ee,
-						wpsid,
-						ee->record.user_sid_length);
+		ee->data_record.sid = (smb_ucs2_t *)TALLOC_MEMDUP(
+			ee, wpsid, ee->record.user_sid_length);
 		if (!ee->data_record.sid) {
 			TALLOC_FREE(ee);
 			goto out;
 		}
 	}
 	if (wpstrs) {
-		ee->data_record.strings = TALLOC_MEMDUP(ee,
-							wpstrs,
-							ee->data_record.strings_len);
+		ee->data_record.strings = (smb_ucs2_t *)TALLOC_MEMDUP(
+			ee, wpstrs, ee->data_record.strings_len);
 		if (!ee->data_record.strings) {
 			TALLOC_FREE(ee);
 			goto out;
@@ -393,9 +389,8 @@ static Eventlog_entry *get_eventlog_record(prs_struct *ps,
 	}
 
 	if (puserdata) {
-		ee->data_record.user_data = TALLOC_MEMDUP(ee,
-							puserdata,
-							ee->data_record.user_data_len);
+		ee->data_record.user_data = (char *)TALLOC_MEMDUP(
+			ee, puserdata, ee->data_record.user_data_len);
 		if (!ee->data_record.user_data) {
 			TALLOC_FREE(ee);
 			goto out;
diff --git a/source/rpcclient/cmd_spoolss.c b/source/rpcclient/cmd_spoolss.c
index 3bcf1bd..92d8096 100644
--- a/source/rpcclient/cmd_spoolss.c
+++ b/source/rpcclient/cmd_spoolss.c
@@ -2265,9 +2265,7 @@ static WERROR cmd_spoolss_enum_data( struct rpc_pipe_client *cli,
 		return WERR_NOMEM;
 	}
 	strupper_m(printername);
-	printername = talloc_asprintf_append(mem_ctx,
-					"%s",
-					argv[1]);
+	printername = talloc_asprintf_append(printername, "%s",	argv[1]);
 	if (!printername) {
 		return WERR_NOMEM;
 	}
@@ -2340,9 +2338,7 @@ static WERROR cmd_spoolss_enum_data_ex( struct rpc_pipe_client *cli,
 		return WERR_NOMEM;
 	}
 	strupper_m(printername);
-	printername = talloc_asprintf_append(mem_ctx,
-					"%s",
-					argv[1]);
+	printername = talloc_asprintf_append(printername, "%s", argv[1]);
 	if (!printername) {
 		return WERR_NOMEM;
 	}
@@ -2417,9 +2413,7 @@ static WERROR cmd_spoolss_enum_printerkey( struct rpc_pipe_client *cli,
 		return WERR_NOMEM;
 	}
 	strupper_m(printername);
-	printername = talloc_asprintf_append(mem_ctx,
-					"%s",
-					argv[1]);
+	printername = talloc_asprintf_append(printername, "%s",	argv[1]);
 	if (!printername) {
 		return WERR_NOMEM;
 	}
diff --git a/source/smbd/nttrans.c b/source/smbd/nttrans.c
index d03abae..9ff1cac 100644
--- a/source/smbd/nttrans.c
+++ b/source/smbd/nttrans.c
@@ -1535,7 +1535,8 @@ static void call_nt_transact_create(connection_struct *conn,
 	    && (create_disposition != FILE_CREATE)
 	    && (share_access & FILE_SHARE_DELETE)
 	    && (access_mask & DELETE_ACCESS)) {
-		if ((dos_mode(conn, fname, &sbuf) & FILE_ATTRIBUTE_READONLY) ||
+		if (((dos_mode(conn, fname, &sbuf) & FILE_ATTRIBUTE_READONLY)
+				&& !lp_delete_readonly(SNUM(conn))) ||
 				!can_delete_file_in_directory(conn, fname)) {
 			TALLOC_FREE(case_state);
 			reply_nterror(req, NT_STATUS_ACCESS_DENIED);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list