aboutsummaryrefslogtreecommitdiff
path: root/convert.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-09-19 10:47:57 +0900
committerJunio C Hamano <gitster@pobox.com>2017-09-19 10:47:57 +0900
commitd811ba1897b723fd0146875201061e3603c16391 (patch)
tree23594d07bf59cdd03c9e979c09f720ad1fee9fb0 /convert.c
parent17cb5f85d06e82b7837a59064fd5fe61b44f9d12 (diff)
parentb6ec3071774fb4eab406e76c29cbf1a5f27929a8 (diff)
downloadgit-d811ba1897b723fd0146875201061e3603c16391.tar.gz
git-d811ba1897b723fd0146875201061e3603c16391.tar.xz
Merge branch 'rs/strbuf-leakfix'
Many leaks of strbuf have been fixed. * rs/strbuf-leakfix: (34 commits) wt-status: release strbuf after use in wt_longstatus_print_tracking() wt-status: release strbuf after use in read_rebase_todolist() vcs-svn: release strbuf after use in end_revision() utf8: release strbuf on error return in strbuf_utf8_replace() userdiff: release strbuf after use in userdiff_get_textconv() transport-helper: release strbuf after use in process_connect_service() sequencer: release strbuf after use in save_head() shortlog: release strbuf after use in insert_one_record() sha1_file: release strbuf on error return in index_path() send-pack: release strbuf on error return in send_pack() remote: release strbuf after use in set_url() remote: release strbuf after use in migrate_file() remote: release strbuf after use in read_remote_branches() refs: release strbuf on error return in write_pseudoref() notes: release strbuf after use in notes_copy_from_stdin() merge: release strbuf after use in write_merge_heads() merge: release strbuf after use in save_state() mailinfo: release strbuf on error return in handle_boundary() mailinfo: release strbuf after use in handle_from() help: release strbuf on error return in exec_woman_emacs() ...
Diffstat (limited to 'convert.c')
-rw-r--r--convert.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/convert.c b/convert.c
index 02962261c..a09935cb8 100644
--- a/convert.c
+++ b/convert.c
@@ -423,8 +423,10 @@ static int filter_buffer_or_fd(int in, int out, void *data)
child_process.in = -1;
child_process.out = out;
- if (start_command(&child_process))
+ if (start_command(&child_process)) {
+ strbuf_release(&cmd);
return error("cannot fork to run external filter '%s'", params->cmd);
+ }
sigchain_push(SIGPIPE, SIG_IGN);