smbd/msdfs: add null check for session_info.unix_info
authorJoe Guo <joeg@catalyst.net.nz>
Tue, 3 Jul 2018 23:03:42 +0000 (11:03 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 12 Jul 2018 02:31:59 +0000 (04:31 +0200)
When a session_info passed down to here, the unix_info could be NULL.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13521

Signed-off-by: Joe Guo <joeg@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
source3/smbd/msdfs.c

index bac9d8f6bf66316c900b55ab44870e1a8cd25ba0..f0ec6b8489258b28f1dd2b3344e1cdbce1bf8e0e 100644 (file)
@@ -307,7 +307,12 @@ static NTSTATUS create_conn_struct_as_root(TALLOC_CTX *ctx,
                        TALLOC_FREE(conn);
                        return NT_STATUS_NO_MEMORY;
                }
-               vfs_user = conn->session_info->unix_info->unix_name;
+               /* unix_info could be NULL in session_info */
+               if (conn->session_info->unix_info != NULL) {
+                       vfs_user = conn->session_info->unix_info->unix_name;
+               } else {
+                       vfs_user = get_current_username();
+               }
        } else {
                /* use current authenticated user in absence of session_info */
                vfs_user = get_current_username();