]> source.dussan.org Git - gitea.git/commitdiff
Fix 500 when getting user as unauthenticated user (#8653)
authorMonty Taylor <mordred@inaugust.com>
Thu, 24 Oct 2019 01:18:41 +0000 (10:18 +0900)
committerLunny Xiao <xiaolunwen@gmail.com>
Thu, 24 Oct 2019 01:18:41 +0000 (09:18 +0800)
When doing GET /api/v1/users/{user} as an unauthenticated user,
gitea throws a 500 because it's trying to dereference elements
from the context user. It wants to do this to see whether to
show the primary email and will do that if the logged in user
is admin or the user in question. However, if ctx.User is nil,
go gets really unhappy.

routers/api/v1/user/user.go

index bb1302077b2b7af3a12dd088d8cd3e97d4611c25..0639494c0edbde67d7461a15ebe52774e791bb41 100644 (file)
@@ -104,7 +104,7 @@ func GetInfo(ctx *context.APIContext) {
                return
        }
 
-       ctx.JSON(200, convert.ToUser(u, ctx.IsSigned, ctx.User.ID == u.ID || ctx.User.IsAdmin))
+       ctx.JSON(200, convert.ToUser(u, ctx.IsSigned, ctx.User != nil && (ctx.User.ID == u.ID || ctx.User.IsAdmin)))
 }
 
 // GetAuthenticatedUser get current user's information