aboutsummaryrefslogtreecommitdiffstats
path: root/modules/templates
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2021-02-10 02:50:44 +0000
committerGitHub <noreply@github.com>2021-02-10 10:50:44 +0800
commitf82b1dd7c384e0295530f2ded53c0938f7b2fc9b (patch)
tree60308c77693db06d01cdb5915e3264625752fa60 /modules/templates
parent30f7ddb833adfe276a93c1a79e243b8d33bdd41e (diff)
downloadgitea-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.go4
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))
}