summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2022-02-01 17:19:54 +0100
committerJule Anger <janger@samba.org>2022-02-14 17:46:14 +0000
commitb48431f4783f30ee9e6f08095545feb688a036d4 (patch)
treeae27a0c9700155c3d86b2c30e7e7ae54f1eaa273
parent3500cb497649b5e5b47b372db2b107310d9dfb1e (diff)
downloadsamba-b48431f4783f30ee9e6f08095545feb688a036d4.tar.gz
smbd: Move the call to file_free() out of close_fake_file()
Centralize calling file_free(), but leave close_fake_file() in for API symmetry reasons. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14975 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> (cherry picked from commit 244c5a7d31c3a37082b320680f2b71108d77bbd4)
-rw-r--r--source3/smbd/close.c1
-rw-r--r--source3/smbd/fake_file.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/source3/smbd/close.c b/source3/smbd/close.c
index bbcdae45429..dd4a4c3595f 100644
--- a/source3/smbd/close.c
+++ b/source3/smbd/close.c
@@ -1532,6 +1532,7 @@ NTSTATUS close_file(struct smb_request *req, files_struct *fsp,
if (fsp->fake_file_handle != NULL) {
status = close_fake_file(req, fsp);
+ file_free(req, fsp);
} else if (fsp->print_file != NULL) {
/* FIXME: return spool errors */
print_spool_end(fsp, close_type);
diff --git a/source3/smbd/fake_file.c b/source3/smbd/fake_file.c
index 92ea14a76da..5d669bfe8e5 100644
--- a/source3/smbd/fake_file.c
+++ b/source3/smbd/fake_file.c
@@ -206,6 +206,8 @@ NTSTATUS open_fake_file(struct smb_request *req, connection_struct *conn,
NTSTATUS close_fake_file(struct smb_request *req, files_struct *fsp)
{
- file_free(req, fsp);
+ /*
+ * Nothing to do, fake files don't hold any resources
+ */
return NT_STATUS_OK;
}