From a2b1082ddaf02f0ad8deef2c9d4ee69f8415ab24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Dachary?= Date: Sun, 12 Nov 2023 20:02:07 +0100 Subject: [PATCH] fix POST /{username}/{reponame}/{tags,release}/delete (cherry picked from commit a6d2ad6310f754952998fd73118da9f91c563145) --- routers/web/repo/release.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/routers/web/repo/release.go b/routers/web/repo/release.go index 8dc78079e2..7adb22667e 100644 --- a/routers/web/repo/release.go +++ b/routers/web/repo/release.go @@ -592,7 +592,17 @@ func DeleteTag(ctx *context.Context) { } func deleteReleaseOrTag(ctx *context.Context, isDelTag bool) { - if err := releaseservice.DeleteReleaseByID(ctx, ctx.FormInt64("id"), ctx.Doer, isDelTag); err != nil { + id := ctx.FormInt64("id") + rel, err := repo_model.GetReleaseByID(ctx, id) + if err != nil { + ctx.ServerError("GetRelease", err) + return + } + if ctx.Repo.Repository.ID != rel.RepoID { + ctx.NotFound("CompareRepoID", repo_model.ErrReleaseNotExist{}) + return + } + if err := releaseservice.DeleteReleaseByID(ctx, id, ctx.Doer, isDelTag); err != nil { if models.IsErrProtectedTagName(err) { ctx.Flash.Error(ctx.Tr("repo.release.tag_name_protected")) } else {