summaryrefslogtreecommitdiff
path: root/source3/smbd/trans2.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2019-07-17 10:42:21 -0700
committerRalph Boehme <slow@samba.org>2019-08-06 14:23:33 +0000
commit61c239fcec1589d078678e729a19920adfe198f6 (patch)
tree76d8ad234139f65cd367524c793b2a3908e44268 /source3/smbd/trans2.c
parentb055f1ac7b69ede807eead360b7ffb9c65dea53c (diff)
downloadsamba-61c239fcec1589d078678e729a19920adfe198f6.tar.gz
s3: smbd: Prepare for SMB1 directory handle opens in reply_findclose()
Call close_file() on any SMB1 directory handle once the dptr is closed. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
Diffstat (limited to 'source3/smbd/trans2.c')
-rw-r--r--source3/smbd/trans2.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index c75f8e277d5..2f3ebb944c4 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -9634,6 +9634,7 @@ void reply_findclose(struct smb_request *req)
{
int dptr_num;
struct smbd_server_connection *sconn = req->sconn;
+ files_struct *fsp = NULL;
START_PROFILE(SMBfindclose);
@@ -9654,7 +9655,12 @@ void reply_findclose(struct smb_request *req)
if (dptr_num == -1) {
dptr_closecnum(req->conn);
} else {
+ fsp = dptr_fsp(sconn, dptr_num);
dptr_close(sconn, &dptr_num);
+ if (fsp != NULL) {
+ close_file(NULL, fsp, NORMAL_CLOSE);
+ fsp = NULL;
+ }
}
reply_outbuf(req, 0, 0);