diff options
author | Jeremy Allison <jra@samba.org> | 2006-03-15 22:52:59 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:15:31 -0500 |
commit | f04d5530cc9ec849edc39c86dbe3946f054d8178 (patch) | |
tree | b02b7443aa43925e8a2cc68c6eabc777271ea99b | |
parent | 41a0da4cfc3e0bb37b81ea22fc2eb15aa89298e1 (diff) | |
download | samba-f04d5530cc9ec849edc39c86dbe3946f054d8178.tar.gz samba-f04d5530cc9ec849edc39c86dbe3946f054d8178.tar.bz2 samba-f04d5530cc9ec849edc39c86dbe3946f054d8178.zip |
r14460: SMBexit closes by pid and vuid. Tested with smbtorture.
Jeremy.
(This used to be commit 71e81580421225d5b35a25d46a7b6064a826685c)
-rw-r--r-- | source3/smbd/files.c | 6 | ||||
-rw-r--r-- | source3/smbd/reply.c | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/source3/smbd/files.c b/source3/smbd/files.c index 5a545c236e..ba4baa93b1 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -154,16 +154,16 @@ void file_close_conn(connection_struct *conn) } /**************************************************************************** - Close all open files for a pid. + Close all open files for a pid and a vuid. ****************************************************************************/ -void file_close_pid(uint16 smbpid) +void file_close_pid(uint16 smbpid, int vuid) { files_struct *fsp, *next; for (fsp=Files;fsp;fsp=next) { next = fsp->next; - if (fsp->file_pid == smbpid) { + if ((fsp->file_pid == smbpid) && (fsp->vuid == vuid)) { close_file(fsp,SHUTDOWN_CLOSE); } } diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 1ca9d39a4c..83f527d326 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -3220,7 +3220,7 @@ int reply_exit(connection_struct *conn, int outsize; START_PROFILE(SMBexit); - file_close_pid(SVAL(inbuf,smb_pid)); + file_close_pid(SVAL(inbuf,smb_pid),SVAL(inbuf,smb_uid)); outsize = set_message(outbuf,0,0,True); |