diff --git a/models/issue.go b/models/issue.go index d0a65298b2..18057985f0 100644 --- a/models/issue.go +++ b/models/issue.go @@ -473,6 +473,10 @@ func NewLabel(l *Label) error { // GetLabelById returns a label by given ID. func GetLabelById(id int64) (*Label, error) { + if id <= 0 { + return nil, ErrLabelNotExist + } + l := &Label{Id: id} has, err := orm.Get(l) if err != nil { diff --git a/routers/repo/issue.go b/routers/repo/issue.go index 23f2480dda..6e04288c2b 100644 --- a/routers/repo/issue.go +++ b/routers/repo/issue.go @@ -742,7 +742,15 @@ func UpdateLabel(ctx *middleware.Context, params martini.Params, form auth.Creat } func DeleteLabel(ctx *middleware.Context) { - strIds := strings.Split(ctx.Query("remove"), ",") + removes := ctx.Query("remove") + if len(strings.TrimSpace(removes)) == 0 { + ctx.JSON(200, map[string]interface{}{ + "ok": true, + }) + return + } + + strIds := strings.Split(removes, ",") for _, strId := range strIds { if err := models.DeleteLabel(ctx.Repo.Repository.Id, strId); err != nil { ctx.Handle(500, "issue.DeleteLabel(DeleteLabel)", err)