]> source.dussan.org Git - gitea.git/commitdiff
Fix migration panic due to an empty review comment diff (#28334)
authorNanguan Lin <70063547+lng2020@users.noreply.github.com>
Tue, 5 Dec 2023 08:29:43 +0000 (16:29 +0800)
committerGitHub <noreply@github.com>
Tue, 5 Dec 2023 08:29:43 +0000 (08:29 +0000)
Fix #28328
```
func (p *PullRequestComment) GetDiffHunk() string {
if p == nil || p.DiffHunk == nil {
return ""
}
return *p.DiffHunk
}
```
This function in the package `go-github` may return an empty diff. When
it's empty, the following code will panic because it access `ss[1]`

https://github.com/go-gitea/gitea/blob/ec1feedbf582b05b6a5e8c59fb2457f25d053ba2/services/migrations/gitea_uploader.go#L861-L867

https://github.com/go-gitea/gitea/blob/ec1feedbf582b05b6a5e8c59fb2457f25d053ba2/modules/git/diff.go#L97-L101

services/migrations/gitea_uploader.go

index ddc2cbd4ec832545c33f3bc74a897019f17d99be..6ad0a2326bd16184c9b588d0438be435dbd1bae0 100644 (file)
@@ -862,7 +862,7 @@ func (g *GiteaLocalUploader) CreateReviews(reviews ...*base.Review) error {
                        line := comment.Line
                        if line != 0 {
                                comment.Position = 1
-                       } else {
+                       } else if comment.DiffHunk != "" {
                                _, _, line, _ = git.ParseDiffHunkString(comment.DiffHunk)
                        }