]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: smbd: Prepare for SMB1 directory handle opens in dptr_closecnum().
authorJeremy Allison <jra@samba.org>
Wed, 17 Jul 2019 17:36:20 +0000 (10:36 -0700)
committerRalph Boehme <slow@samba.org>
Tue, 6 Aug 2019 14:23:33 +0000 (14:23 +0000)
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>
source3/smbd/dir.c

index 7483e6f5de47a19fdef81b7448e6422963551586..0b760ed9b73b9bee95ef3c4890d74eabb606c72f 100644 (file)
@@ -277,7 +277,17 @@ void dptr_closecnum(connection_struct *conn)
                next = dptr->next;
                if (dptr->conn == conn) {
                        int key = dptr->dnum;
+                       files_struct *fsp = NULL;
+
+                       if (dptr->dir_hnd != NULL &&
+                                       dptr->dir_hnd->fsp != NULL) {
+                               fsp = dptr->dir_hnd->fsp;
+                       }
                        dptr_close(sconn, &key);
+                       if (fsp != NULL) {
+                               close_file(NULL, fsp, NORMAL_CLOSE);
+                               fsp = NULL;
+                       }
                }
        }
 }