[SCM] Samba Shared Repository - branch v3-4-test updated - release-4-0-0alpha7-579-g940c84f

Jeremy Allison jra at samba.org
Thu Mar 26 04:48:31 GMT 2009


The branch, v3-4-test has been updated
       via  940c84fcc75085ee4f1180d4d2a8e718142e4eb6 (commit)
      from  62923f9be593d8c7cdcb79c56b9f2c0c36e5dbdd (commit)

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


- Log -----------------------------------------------------------------
commit 940c84fcc75085ee4f1180d4d2a8e718142e4eb6
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Mar 25 21:47:13 2009 -0700

    Ensure we never enter VFS_CREATE without having initialized
    sbuf as invalid (if not already read via stat()). Still trying
    to find the build farm RAW-STREAM errors and it's happening
    in a openX call....
    Jeremy.

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

Summary of changes:
 source3/smbd/nttrans.c |    4 ++++
 source3/smbd/reply.c   |    6 ++++++
 source3/smbd/trans2.c  |    2 ++
 3 files changed, 12 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c
index 9c7fb19..0c0bebb 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -440,6 +440,8 @@ void reply_ntcreate_and_X(struct smb_request *req)
 
 	START_PROFILE(SMBntcreateX);
 
+	SET_STAT_INVALID(sbuf);
+
 	if (req->wct < 24) {
 		reply_nterror(req, NT_STATUS_INVALID_PARAMETER);
 		return;
@@ -864,6 +866,8 @@ static void call_nt_transact_create(connection_struct *conn,
 	uint8_t oplock_granted;
 	TALLOC_CTX *ctx = talloc_tos();
 
+	SET_STAT_INVALID(sbuf);
+
 	DEBUG(5,("call_nt_transact_create\n"));
 
 	/*
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 8b560bd..1ee4708 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -1606,6 +1606,8 @@ void reply_open(struct smb_request *req)
 
 	START_PROFILE(SMBopen);
 
+	SET_STAT_INVALID(sbuf);
+
 	if (req->wct < 2) {
 		reply_nterror(req, NT_STATUS_INVALID_PARAMETER);
 		END_PROFILE(SMBopen);
@@ -1741,6 +1743,8 @@ void reply_open_and_X(struct smb_request *req)
 		return;
 	}
 
+	SET_STAT_INVALID(sbuf);
+
 	open_flags = SVAL(req->vwv+2, 0);
 	deny_mode = SVAL(req->vwv+3, 0);
 	smb_attr = SVAL(req->vwv+5, 0);
@@ -1945,6 +1949,7 @@ void reply_mknew(struct smb_request *req)
 
 	START_PROFILE(SMBcreate);
 	ZERO_STRUCT(ft);
+	SET_STAT_INVALID(sbuf);
 
         if (req->wct < 3) {
 		reply_nterror(req, NT_STATUS_INVALID_PARAMETER);
@@ -2123,6 +2128,7 @@ void reply_ctemp(struct smb_request *req)
 		return;
 	}
 
+	SET_STAT_INVALID(sbuf);
 	SMB_VFS_STAT(conn,fname,&sbuf);
 
 	/* We should fail if file does not exist. */
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index ee1dda9..95051e4 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -894,6 +894,8 @@ static void call_trans2open(connection_struct *conn,
 	uint32 create_options = 0;
 	TALLOC_CTX *ctx = talloc_tos();
 
+	SET_STAT_INVALID(sbuf);
+
 	/*
 	 * Ensure we have enough parameters to perform the operation.
 	 */


-- 
Samba Shared Repository


More information about the samba-cvs mailing list