diff options
author | Jeremy Allison <jra@samba.org> | 2009-03-25 21:48:37 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2009-03-25 21:48:37 -0700 |
commit | 202228d48b6459148d328840d23322ecfac00626 (patch) | |
tree | 85841da4812201173eeb929d0140caa2aaeba6b4 /source3/smbd/reply.c | |
parent | 5adeaea664b016225518a465e3fc2ed4b8cce098 (diff) | |
download | samba-202228d48b6459148d328840d23322ecfac00626.tar.gz samba-202228d48b6459148d328840d23322ecfac00626.tar.bz2 samba-202228d48b6459148d328840d23322ecfac00626.zip |
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.
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r-- | source3/smbd/reply.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 6f19a58178..16eb4a7fd7 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. */ |