From: Rene Scharfe Date: Wed, 30 Aug 2017 17:49:36 +0000 (+0200) Subject: clean: release strbuf after use in remove_dirs() X-Git-Tag: v2.15.0-rc0~78^2~29 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/25a8f80a8482d74225587fb2f667a8f296a58c48?ds=sidebyside clean: release strbuf after use in remove_dirs() Signed-off-by: Rene Scharfe Signed-off-by: Junio C Hamano --- diff --git a/builtin/clean.c b/builtin/clean.c index 21a7a32994..733b6d3745 100644 --- a/builtin/clean.c +++ b/builtin/clean.c @@ -167,7 +167,7 @@ static int remove_dirs(struct strbuf *path, const char *prefix, int force_flag, } *dir_gone = 0; - return 0; + goto out; } dir = opendir(path->buf); @@ -181,7 +181,8 @@ static int remove_dirs(struct strbuf *path, const char *prefix, int force_flag, warning_errno(_(msg_warn_remove_failed), quoted.buf); *dir_gone = 0; } - return res; + ret = res; + goto out; } strbuf_complete(path, '/'); @@ -249,6 +250,8 @@ static int remove_dirs(struct strbuf *path, const char *prefix, int force_flag, for (i = 0; i < dels.nr; i++) printf(dry_run ? _(msg_would_remove) : _(msg_remove), dels.items[i].string); } +out: + strbuf_release("ed); string_list_clear(&dels, 0); return ret; }