From f45476ab92ddd72617b1b34d1b215c0e40d6074a Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Mon, 18 Nov 2024 10:50:13 +0100 Subject: [PATCH] smbd: avoid a panic in close_directory() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BUG: https://bugzilla.samba.org/show_bug.cgi?id=15754 Signed-off-by: Ralph Boehme Reviewed-by: Volker Lendecke Autobuild-User(master): Ralph Böhme Autobuild-Date(master): Mon Nov 18 12:43:28 UTC 2024 on atb-devel-224 (backported from commit f86d1a35917cdcc07b2fa741c6a369aaad24abaf) [slow@samba.org: context changes from Directory Leases] --- source3/smbd/close.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source3/smbd/close.c b/source3/smbd/close.c index 5cb2bb6f17c2..1b027a319a4b 100644 --- a/source3/smbd/close.c +++ b/source3/smbd/close.c @@ -1495,7 +1495,8 @@ static NTSTATUS close_directory(struct smb_request *req, files_struct *fsp, if (!NT_STATUS_IS_OK(status)) { DBG_ERR("share_mode_entry_prepare_lock_del() failed for %s - %s\n", fsp_str_dbg(fsp), nt_errstr(status)); - return status; + log_stack_trace(); + goto close_fd; } /* @@ -1584,6 +1585,7 @@ static NTSTATUS close_directory(struct smb_request *req, files_struct *fsp, remove_pending_change_notify_requests_by_fid(fsp, notify_status); +close_fd: status1 = fd_close(fsp); if (!NT_STATUS_IS_OK(status1)) { -- 2.47.0