Skip to content

Commit ce756ee

Browse files
6543zeripath
authored andcommitted
Check user != nil before checking values (go-gitea#9881) (go-gitea#9883)
* Check user != nil before checking values * Handle autoAdmin Co-authored-by: zeripath <[email protected]>
1 parent f2e9d4b commit ce756ee

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

models/login_source.go

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -473,13 +473,21 @@ func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoR
473473
// Update User admin flag if exist
474474
if isExist, err := IsUserExist(0, sr.Username); err != nil {
475475
return nil, err
476-
} else if isExist &&
477-
!user.ProhibitLogin && len(source.LDAP().AdminFilter) > 0 && user.IsAdmin != sr.IsAdmin {
478-
// Change existing admin flag only if AdminFilter option is set
479-
user.IsAdmin = sr.IsAdmin
480-
err = UpdateUserCols(user, "is_admin")
481-
if err != nil {
482-
return nil, err
476+
} else if isExist {
477+
if user == nil {
478+
user, err = GetUserByName(sr.Username)
479+
if err != nil {
480+
return nil, err
481+
}
482+
}
483+
if user != nil &&
484+
!user.ProhibitLogin && len(source.LDAP().AdminFilter) > 0 && user.IsAdmin != sr.IsAdmin {
485+
// Change existing admin flag only if AdminFilter option is set
486+
user.IsAdmin = sr.IsAdmin
487+
err = UpdateUserCols(user, "is_admin")
488+
if err != nil {
489+
return nil, err
490+
}
483491
}
484492
}
485493

0 commit comments

Comments
 (0)