From ed3501afc05930c855d5b79ff0719353118edafc Mon Sep 17 00:00:00 2001 From: yan Date: Tue, 26 May 2020 09:21:23 +0800 Subject: [PATCH] Fixed null pointer exception for anonymous user --- models/dataset.go | 2 +- routers/dataset/dataset.go | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/models/dataset.go b/models/dataset.go index 72947a44c..24652d060 100644 --- a/models/dataset.go +++ b/models/dataset.go @@ -225,7 +225,7 @@ func GetOwnerDatasetByID(id int64, user *User) (*Dataset, error) { if !dataset.IsPrivate() { return dataset, nil } - if dataset.IsPrivate() && user.ID == dataset.UserID { + if dataset.IsPrivate() && user != nil && user.ID == dataset.UserID { return dataset, nil } return nil, errors.New("dataset not fount") diff --git a/routers/dataset/dataset.go b/routers/dataset/dataset.go index 695b44599..1145f94d9 100644 --- a/routers/dataset/dataset.go +++ b/routers/dataset/dataset.go @@ -160,7 +160,7 @@ func Show(ctx *context.Context) { user := ctx.User dataset, err := models.GetOwnerDatasetByID(ctx.ParamsInt64((":id")), user) if err != nil { - ctx.ServerError("GetDataset", err) + ctx.NotFound("GetDataset", err) return } @@ -185,9 +185,10 @@ func EditDataset(ctx *context.Context) { repo.RenderAttachmentSettings(ctx) rel, err := models.GetOwnerDatasetByID(ctx.ParamsInt64(":id"), ctx.User) if err != nil { - ctx.ServerError("GetDataset", err) + ctx.NotFound("GetDataset", err) return } + ctx.Data["ID"] = rel.ID ctx.Data["title"] = rel.Title ctx.Data["private"] = rel.IsPrivate()