summaryrefslogtreecommitdiff
path: root/gpg-interface.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-02-07 15:14:54 -0800
committerJunio C Hamano <gitster@pobox.com>2013-02-07 15:14:54 -0800
commitd2216a4b133f90a543a0e4c4a9f9809a043012d6 (patch)
tree97866fbd1cd793ff15ac8a2da91e265468fa8ec6 /gpg-interface.c
parent427c6d0caf0caee5ad2c4925910a6b8ebcf95408 (diff)
parent7dac3f83218b9f6c4c7d1c1cf093190f20d27108 (diff)
downloadgit-d2216a4b133f90a543a0e4c4a9f9809a043012d6.tar.gz
Merge branch 'sb/gpg-plug-fd-leak' into maint
We forgot to close the file descriptor reading from "gpg" output, killing "git log --show-signature" on a long history. * sb/gpg-plug-fd-leak: gpg: close stderr once finished with it in verify_signed_buffer()
Diffstat (limited to 'gpg-interface.c')
-rw-r--r--gpg-interface.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gpg-interface.c b/gpg-interface.c
index 0863c61800..5f142f6198 100644
--- a/gpg-interface.c
+++ b/gpg-interface.c
@@ -130,8 +130,10 @@ int verify_signed_buffer(const char *payload, size_t payload_size,
write_in_full(gpg.in, payload, payload_size);
close(gpg.in);
- if (gpg_output)
+ if (gpg_output) {
strbuf_read(gpg_output, gpg.err, 0);
+ close(gpg.err);
+ }
ret = finish_command(&gpg);
unlink_or_warn(path);