From f82428d2e0c5078c11d1b296f7ebc8cfb6216860 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Thu, 11 Jan 2018 09:39:42 +0100 Subject: [PATCH] releaser: Git info bounds checking --- releaser/git.go | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/releaser/git.go b/releaser/git.go index 8d8bbd68..9999636f 100644 --- a/releaser/git.go +++ b/releaser/git.go @@ -227,13 +227,22 @@ func getGitInfosBefore(ref, tag, repo, repoPath string, remote bool) (gitInfos, for _, entry := range entries { items := strings.Split(entry, "\x1f") - gi := gitInfo{ - Hash: items[0], - Author: items[1], - Subject: items[2], - Body: items[3], + gi := gitInfo{} + + if len(items) > 0 { + gi.Hash = items[0] } - if remote { + if len(items) > 1 { + gi.Author = items[1] + } + if len(items) > 2 { + gi.Subject = items[2] + } + if len(items) > 3 { + gi.Body = items[3] + } + + if remote && gi.Hash != "" { gc, err := client.fetchCommit(gi.Hash) if err == nil { gi.GitHubCommit = &gc