s3:smbd: initialize session->global before calling session_claim
[mat/samba.git] / source3 / smbd / smb2_sesssetup.c
index 171021a25897a33e7dcd5ea7819c40e469476350..265f8020215805a50f83525a570da6470ab2e40b 100644 (file)
@@ -330,13 +330,6 @@ static NTSTATUS smbd_smb2_auth_generic_return(struct smbXsrv_session *session,
                        register_homes_share(session_info->unix_info->unix_name);
        }
 
-       if (!session_claim(session)) {
-               DEBUG(1, ("smb2: Failed to claim session "
-                       "for vuid=%llu\n",
-                       (unsigned long long)session->compat->vuid));
-               return NT_STATUS_LOGON_FAILURE;
-       }
-
        set_current_user_info(session_info->unix_info->sanitized_username,
                              session_info->unix_info->unix_name,
                              session_info->info->domain_name);
@@ -350,6 +343,13 @@ static NTSTATUS smbd_smb2_auth_generic_return(struct smbXsrv_session *session,
                session->global->auth_session_info_seqnum;
        session->global->expiration_time = gensec_expire_time(session->gensec);
 
+       if (!session_claim(session)) {
+               DEBUG(1, ("smb2: Failed to claim session "
+                       "for vuid=%llu\n",
+                       (unsigned long long)session->compat->vuid));
+               return NT_STATUS_LOGON_FAILURE;
+       }
+
        status = smbXsrv_session_update(session);
        if (!NT_STATUS_IS_OK(status)) {
                DEBUG(0, ("smb2: Failed to update session for vuid=%llu - %s\n",