From: Ralph Boehme Date: Thu, 7 Jul 2022 12:40:28 +0000 (+0200) Subject: smbd: if close fails just log it, don't crash X-Git-Tag: tevent-0.13.0~193 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b8f3d8d052c38a273599d839d753840a07b3f5cd;p=thirdparty%2Fsamba.git smbd: if close fails just log it, don't crash Originally I added the assert here as we can't return the error being in a talloc destructor. But OEMs prefer error log messages over crashes. Signed-off-by: Ralph Boehme Reviewed-by: Volker Lendecke Autobuild-User(master): Volker Lendecke Autobuild-Date(master): Fri Jul 8 09:04:28 UTC 2022 on sn-devel-184 --- diff --git a/source3/smbd/files.c b/source3/smbd/files.c index f4737278dd0..45cc7ffd79f 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -424,12 +424,20 @@ static int smb_fname_fsp_destructor(struct smb_filename *smb_fname) fsp_set_base_fsp(fsp, NULL); status = fd_close(tmp_base_fsp); - SMB_ASSERT(NT_STATUS_IS_OK(status)); + if (NT_STATUS_IS_OK(status)) { + DBG_ERR("Closing fd for fsp [%s] failed: %s. " + "Please check your filesystem!!!\n", + fsp_str_dbg(fsp), nt_errstr(status)); + } file_free(NULL, tmp_base_fsp); } status = fd_close(fsp); - SMB_ASSERT(NT_STATUS_IS_OK(status)); + if (NT_STATUS_IS_OK(status)) { + DBG_ERR("Closing fd for fsp [%s] failed: %s. " + "Please check your filesystem!!!\n", + fsp_str_dbg(fsp), nt_errstr(status)); + } file_free(NULL, fsp); smb_fname->fsp = NULL;