void invalidate_vuid(struct smbd_server_connection *sconn, uint64_t vuid)
{
struct user_struct *vuser = NULL;
+ struct smbXsrv_session *session = NULL;
+ NTSTATUS status;
vuser = get_valid_user_struct_internal(sconn, vuid,
SERVER_ALLOCATED_REQUIRED_ANY);
return;
}
- session_yield(vuser->session);
+ status = get_valid_smbXsrv_session(sconn->client, vuid, &session);
+ if (!NT_STATUS_IS_OK(status)) {
+ return;
+ }
+
+ session_yield(session);
DLIST_REMOVE(sconn->users, vuser);
SMB_ASSERT(sconn->num_users > 0);