summaryrefslogtreecommitdiff
path: root/gpg-interface.c
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2013-02-05 16:12:43 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2013-02-05 16:12:43 -0800
commit15778842bd5a63a2550c3d213b157823610a4f08 (patch)
tree89cf219636f5ee25fc5d8564b889bdd210aa8ac0 /gpg-interface.c
parentMerge branch 'ft/transport-report-segv' (diff)
parentgpg: close stderr once finished with it in verify_signed_buffer() (diff)
downloadtgif-15778842bd5a63a2550c3d213b157823610a4f08.tar.xz
Merge branch 'sb/gpg-plug-fd-leak'
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);