diff options
author | Rene Scharfe <l.s.r@web.de> | 2017-08-30 19:49:49 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-09-07 08:49:28 +0900 |
commit | 150888e2733fa932949dad88af1b049193ef096f (patch) | |
tree | b2c75f568a4b4b319e24fb017dccdf65c34ac394 | |
parent | mailinfo: release strbuf on error return in handle_boundary() (diff) | |
download | tgif-150888e2733fa932949dad88af1b049193ef096f.tar.xz |
merge: release strbuf after use in save_state()
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/merge.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/builtin/merge.c b/builtin/merge.c index 7df3fe3927..4f8418246b 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -253,6 +253,7 @@ static int save_state(struct object_id *stash) struct child_process cp = CHILD_PROCESS_INIT; struct strbuf buffer = STRBUF_INIT; const char *argv[] = {"stash", "create", NULL}; + int rc = -1; cp.argv = argv; cp.out = -1; @@ -266,11 +267,14 @@ static int save_state(struct object_id *stash) if (finish_command(&cp) || len < 0) die(_("stash failed")); else if (!len) /* no changes */ - return -1; + goto out; strbuf_setlen(&buffer, buffer.len-1); if (get_oid(buffer.buf, stash)) die(_("not a valid object: %s"), buffer.buf); - return 0; + rc = 0; +out: + strbuf_release(&buffer); + return rc; } static void read_empty(unsigned const char *sha1, int verbose) |