From 87854c95a90cf1bebe1bffb833389471fb35f234 Mon Sep 17 00:00:00 2001
From: Unknown <joe2010xtmf@163.com>
Date: Sat, 24 May 2014 15:34:02 -0400
Subject: [PATCH] Fixed #200

---
 models/issue.go       |  4 ++++
 routers/repo/issue.go | 10 +++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

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)