diff options
author | zeripath <art27@cantab.net> | 2021-02-10 02:50:44 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-10 10:50:44 +0800 |
commit | f82b1dd7c384e0295530f2ded53c0938f7b2fc9b (patch) | |
tree | 60308c77693db06d01cdb5915e3264625752fa60 /modules/templates | |
parent | 30f7ddb833adfe276a93c1a79e243b8d33bdd41e (diff) | |
download | gitea-f82b1dd7c384e0295530f2ded53c0938f7b2fc9b.tar.gz gitea-f82b1dd7c384e0295530f2ded53c0938f7b2fc9b.zip |
Prevent adding nil label to .AddedLabels or .RemovedLabels (#14623)
* Prevent adding nil label to .AddedLabels or .RemovedLabels
There are possibly a few old databases out there with malmigrated data that can
cause panics with empty labels being migrated.
This PR adds a few tests to prevent nil labels being added.
Fix #14466
Signed-off-by: Andrew Thornton <art27@cantab.net>
* Add doctor command to remove the broken label comments
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: 6543 <6543@obermui.de>
Diffstat (limited to 'modules/templates')
-rw-r--r-- | modules/templates/helper.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 4e767ad44d..987a6ad983 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -371,6 +371,10 @@ func NewFuncMap() []template.FuncMap { "RenderLabels": func(labels []*models.Label) template.HTML { html := `<span class="labels-list">` for _, label := range labels { + // Protect against nil value in labels - shouldn't happen but would cause a panic if so + if label == nil { + continue + } html += fmt.Sprintf("<div class='ui label' style='color: %s; background-color: %s'>%s</div> ", label.ForegroundColor(), label.Color, RenderEmoji(label.Name)) } |