From 29c5be47ed9dfd2d72319a6b040bc3768d9f12c9 Mon Sep 17 00:00:00 2001 From: Unknwon Date: Sun, 2 Dec 2018 17:51:24 -0500 Subject: models/issue: fix panic when clear labels (#5445) --- models/issue.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'models') diff --git a/models/issue.go b/models/issue.go index de87080a..b81f384b 100644 --- a/models/issue.go +++ b/models/issue.go @@ -314,8 +314,13 @@ func (issue *Issue) clearLabels(e *xorm.Session) (err error) { return fmt.Errorf("getLabels: %v", err) } + // NOTE: issue.removeLabel slices issue.Labels, so we need to create another slice to be unaffected. + labels := make([]*Label, len(issue.Labels)) for i := range issue.Labels { - if err = issue.removeLabel(e, issue.Labels[i]); err != nil { + labels[i] = issue.Labels[i] + } + for i := range labels { + if err = issue.removeLabel(e, labels[i]); err != nil { return fmt.Errorf("removeLabel: %v", err) } } -- cgit v1.2.3