summaryrefslogtreecommitdiff
path: root/gpg-interface.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-02-05 16:12:43 -0800
committerJunio C Hamano <gitster@pobox.com>2013-02-05 16:12:43 -0800
commit15778842bd5a63a2550c3d213b157823610a4f08 (patch)
tree89cf219636f5ee25fc5d8564b889bdd210aa8ac0 /gpg-interface.c
parent8278a7bdc19fb917860788dcff5a34c0f629dd0b (diff)
parent7dac3f83218b9f6c4c7d1c1cf093190f20d27108 (diff)
downloadgit-15778842bd5a63a2550c3d213b157823610a4f08.tar.gz
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);