summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-02-11 04:37:56 +0000
committerJeremy Allison <jra@samba.org>2007-02-11 04:37:56 +0000
commit5de4fce1a744998920de087500ba14f44c3440fb (patch)
treee72e9ffe2b83f2376d273e7f75e81bb8b3c27766
parent4602f147e0b7a050854fce14ae1dee06d86b00ff (diff)
downloadsamba-5de4fce1a744998920de087500ba14f44c3440fb.tar.gz
samba-5de4fce1a744998920de087500ba14f44c3440fb.tar.xz
samba-5de4fce1a744998920de087500ba14f44c3440fb.zip
r21274: As we now have POSIX opens which can unlink
with other open files we may have taken the delete code path with more than one share mode entry - ensure we only delete once by resetting the delete on close flag. Jeremy.
-rw-r--r--source/smbd/close.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source/smbd/close.c b/source/smbd/close.c
index 7a1e97c2b6b..ef19fbb9212 100644
--- a/source/smbd/close.c
+++ b/source/smbd/close.c
@@ -287,6 +287,15 @@ static NTSTATUS close_remove_share_mode(files_struct *fsp,
status = map_nt_error_from_unix(errno);
}
+ /* As we now have POSIX opens which can unlink
+ * with other open files we may have taken
+ * this code path with more than one share mode
+ * entry - ensure we only delete once by resetting
+ * the delete on close flag. JRA.
+ */
+
+ set_delete_on_close_lck(lck, False, NULL);
+
done:
/* unbecome user. */