summaryrefslogtreecommitdiff
path: root/commit.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-09-19 01:47:57 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-09-19 01:47:57 (GMT)
commitd811ba1897b723fd0146875201061e3603c16391 (patch)
tree23594d07bf59cdd03c9e979c09f720ad1fee9fb0 /commit.c
parent17cb5f85d06e82b7837a59064fd5fe61b44f9d12 (diff)
parentb6ec3071774fb4eab406e76c29cbf1a5f27929a8 (diff)
downloadgit-d811ba1897b723fd0146875201061e3603c16391.zip
git-d811ba1897b723fd0146875201061e3603c16391.tar.gz
git-d811ba1897b723fd0146875201061e3603c16391.tar.bz2
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 'commit.c')
-rw-r--r--commit.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/commit.c b/commit.c
index 17a93d1..9062980 100644
--- a/commit.c
+++ b/commit.c
@@ -1570,10 +1570,13 @@ int commit_tree_extended(const char *msg, size_t msg_len,
if (encoding_is_utf8 && !verify_utf8(&buffer))
fprintf(stderr, _(commit_utf8_warn));
- if (sign_commit && do_sign_commit(&buffer, sign_commit))
- return -1;
+ if (sign_commit && do_sign_commit(&buffer, sign_commit)) {
+ result = -1;
+ goto out;
+ }
result = write_sha1_file(buffer.buf, buffer.len, commit_type, ret);
+out:
strbuf_release(&buffer);
return result;
}