mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-25 22:02:58 +01:00
Fix possible panic (#17694)
- The code will get the first and second character `link[{0,1]]`. However in a rare case the `link` could have 1 character and thus the `link[1]` will create a panic.
This commit is contained in:
parent
d1f5584039
commit
257b7171c3
1 changed files with 4 additions and 5 deletions
|
@ -108,12 +108,11 @@ func (repo *Repository) AvatarLink() string {
|
|||
// avatarLink returns user avatar absolute link.
|
||||
func (repo *Repository) avatarLink(e db.Engine) string {
|
||||
link := repo.relAvatarLink(e)
|
||||
// link may be empty!
|
||||
if len(link) > 0 {
|
||||
if link[0] == '/' && link[1] != '/' {
|
||||
return setting.AppURL + strings.TrimPrefix(link, setting.AppSubURL)[1:]
|
||||
}
|
||||
// we only prepend our AppURL to our known (relative, internal) avatar link to get an absolute URL
|
||||
if strings.HasPrefix(link, "/") && !strings.HasPrefix(link, "//") {
|
||||
return setting.AppURL + strings.TrimPrefix(link, setting.AppSubURL)[1:]
|
||||
}
|
||||
// otherwise, return the link as it is
|
||||
return link
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue