diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-01-16 18:46:04 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-01-16 18:46:04 +0100 |
| commit | a46e53184f7ecbaf37e0981bf8272dede209ad6d (patch) | |
| tree | a65086e56a0ef454d126cefe594bd1307c6bddf7 /pkg/git/git.go | |
| parent | c43cd72b2077878c908b264d4aceaadbec7ec773 (diff) | |
pkg/git: fix potential hang
If extractFixTags exits early with error,
git process will hang due to stdout overflow
and never exit.
Diffstat (limited to 'pkg/git/git.go')
| -rw-r--r-- | pkg/git/git.go | 3 |
1 files changed, 2 insertions, 1 deletions
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) |
