The branch, v4-14-test has been updated via a7d66e00fa8 s3: smbd: Fix smbd crash on dangling symlink with posix connection calling several non-posix info levels. from 07b062c489f s3/rpc_server: track the number of policy handles with a talloc destructor
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-14-test - Log ----------------------------------------------------------------- commit a7d66e00fa811512b0b44288474271453b914f21 Author: Jeremy Allison <j...@samba.org> Date: Tue Jun 15 15:42:33 2021 -0700 s3: smbd: Fix smbd crash on dangling symlink with posix connection calling several non-posix info levels. Tidy up fsp == NULL checks. Remove knownfail. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14742 Signed-off-by: Jeremy Allison <j...@samba.org> Reviewed-by: Noel Power <npo...@samba.org> Autobuild-User(master): Noel Power <npo...@samba.org> Autobuild-Date(master): Wed Jun 16 11:58:00 UTC 2021 on sn-devel-184 (cherry picked from commit 263c95aee38c9198ad9a30c4d960d72f46b7c27a) Autobuild-User(v4-14-test): Karolin Seeger <ksee...@samba.org> Autobuild-Date(v4-14-test): Fri Aug 27 08:14:42 UTC 2021 on sn-devel-184 ----------------------------------------------------------------------- Summary of changes: source3/smbd/trans2.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) Changeset truncated at 500 lines: diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index fac45df586e..70a492a96a8 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -785,6 +785,10 @@ NTSTATUS set_ea(connection_struct *conn, files_struct *fsp, return NT_STATUS_EAS_NOT_SUPPORTED; } + if (fsp == NULL) { + return NT_STATUS_INVALID_HANDLE; + } + posix_pathnames = (fsp->fsp_name->flags & SMB_FILENAME_POSIX_PATH); status = refuse_symlink(conn, fsp, fsp->fsp_name); @@ -6860,7 +6864,7 @@ static NTSTATUS smb_set_file_full_ea_info(connection_struct *conn, struct ea_list *ea_list = NULL; NTSTATUS status; - if (!fsp) { + if (fsp == NULL) { return NT_STATUS_INVALID_HANDLE; } @@ -7899,6 +7903,10 @@ static NTSTATUS smb_set_file_basic_info(connection_struct *conn, return NT_STATUS_INVALID_PARAMETER; } + if (fsp == NULL) { + return NT_STATUS_INVALID_HANDLE; + } + status = check_access_fsp(fsp, FILE_WRITE_ATTRIBUTES); if (!NT_STATUS_IS_OK(status)) { return status; @@ -7956,6 +7964,10 @@ static NTSTATUS smb_set_info_standard(connection_struct *conn, return NT_STATUS_INVALID_PARAMETER; } + if (fsp == NULL) { + return NT_STATUS_INVALID_HANDLE; + } + /* create time */ ft.create_time = time_t_to_full_timespec(srv_make_unix_date2(pdata)); /* access time */ -- Samba Shared Repository