diff options
-rw-r--r-- | source3/include/proto.h | 3 | ||||
-rw-r--r-- | source3/smbd/files.c | 5 | ||||
-rw-r--r-- | source3/smbd/reply.c | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index c55bf8343c..091ce17caa 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -4751,7 +4751,8 @@ bool is_ntfs_default_stream_smb_fname(const struct smb_filename *smb_fname); NTSTATUS file_new(struct smb_request *req, connection_struct *conn, files_struct **result); void file_close_conn(connection_struct *conn); -void file_close_pid(uint16 smbpid, int vuid); +void file_close_pid(struct smbd_server_connection *sconn, uint16 smbpid, + int vuid); void file_init(void); void file_close_user(int vuid); struct files_struct *files_forall( diff --git a/source3/smbd/files.c b/source3/smbd/files.c index cf6f57ea2f..f24d903daa 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -155,11 +155,12 @@ void file_close_conn(connection_struct *conn) Close all open files for a pid and a vuid. ****************************************************************************/ -void file_close_pid(uint16 smbpid, int vuid) +void file_close_pid(struct smbd_server_connection *sconn, uint16 smbpid, + int vuid) { files_struct *fsp, *next; - for (fsp=smbd_server_conn->files;fsp;fsp=next) { + for (fsp=sconn->files;fsp;fsp=next) { next = fsp->next; if ((fsp->file_pid == smbpid) && (fsp->vuid == vuid)) { close_file(NULL, fsp, SHUTDOWN_CLOSE); diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index f8c016b7f9..8663c68f96 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -4773,7 +4773,7 @@ void reply_exit(struct smb_request *req) { START_PROFILE(SMBexit); - file_close_pid(req->smbpid, req->vuid); + file_close_pid(req->sconn, req->smbpid, req->vuid); reply_outbuf(req, 0, 0); |