# UNDF: UNDF-2026-000000162 --- a/server/channels/app/role.go +++ b/server/channels/app/role.go @@ -258,16 +258,12 @@ func (a *App) CheckRolesExist(roleNames []string) *model.AppError { return err } - for _, name := range roleNames { - nameFound := false - for _, role := range roles { - if name == role.Name { - nameFound = true - break - } - } - if !nameFound { - return model.NewAppError("CheckRolesExist", "app.role.check_roles_exist.role_not_found", nil, "role="+name, http.StatusBadRequest) - } + roleSet := make(map[string]bool, len(roles)) + for _, role := range roles { + roleSet[role.Name] = true + } + for _, name := range roleNames { + if !roleSet[name] { + return model.NewAppError("CheckRolesExist", "app.role.check_roles_exist.role_not_found", nil, "role="+name, http.StatusBadRequest) + } } return nil