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

Reply via email to