From a46e53184f7ecbaf37e0981bf8272dede209ad6d Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 16 Jan 2018 18:46:04 +0100 Subject: pkg/git: fix potential hang If extractFixTags exits early with error, git process will hang due to stdout overflow and never exit. --- pkg/git/git.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'pkg/git') diff --git a/pkg/git/git.go b/pkg/git/git.go index 3ddfb3aed..d8137c209 100644 --- a/pkg/git/git.go +++ b/pkg/git/git.go @@ -166,13 +166,14 @@ func ExtractFixTagsFromCommits(dir, baseCommit, email string) ([]FixCommit, erro return nil, err } defer cmd.Wait() + defer cmd.Process.Kill() return extractFixTags(stdout, email) } func extractFixTags(r io.Reader, email string) ([]FixCommit, error) { user, domain, err := splitEmail(email) if err != nil { - return nil, err + return nil, fmt.Errorf("failed to parse email %q: %v", email, err) } var ( s = bufio.NewScanner(r) -- cgit mrf-deployment