From: Rene Scharfe Date: Wed, 30 Aug 2017 17:49:49 GMT Subject: [PATCH 18/34] merge: release strbuf after use in save_state() Message-ID: <20170830175005.20756-19-l.s.r@web.de> In-Reply-To: <20170830175005.20756-1-l.s.r@web.de> Signed-off-by: Rene Scharfe --- builtin/merge.c | 8 ++++++-- 1 file 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 @@ -250,27 +250,31 @@ static void drop_save(void) static int save_state(struct object_id *stash) { int len; 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; cp.git_cmd = 1; if (start_command(&cp)) die(_("could not run stash.")); len = strbuf_read(&buffer, cp.out, 1024); close(cp.out); 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) -- 2.14.1