While unlikely, `git --version' may fail, so we must check for
errors and by reaping the process ASAP via tied close().
---
 lib/PublicInbox/Git.pm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm
index 2729b38f..6f8232cf 100644
--- a/lib/PublicInbox/Git.pm
+++ b/lib/PublicInbox/Git.pm
@@ -64,6 +64,7 @@ sub check_git_exe () {
        if ($st ne $EXE_ST) {
                my $rd = popen_rd([ $GIT_EXE, '--version' ]);
                my $v = readline($rd);
+               close($rd) or die "$GIT_EXE --version: $?";
                $v =~ /\b([0-9]+(?:\.[0-9]+){2})/ or die
                        "$GIT_EXE --version output: $v # unparseable";
                my @v = split(/\./, $1, 3);

Reply via email to