clean: release strbuf after use in remove_dirs()
Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Rene Scharfe committed
Aug 30, 2017 at 19:49 UTC
25a8f80a8482d74225587fb2f667a8f296a58c48
1 file changed
+5
-2
builtin/clean.c
+5
-2
@@ -167,7 +167,7 @@ static int remove_dirs(struct strbuf *path, const char *prefix, int force_flag,
167
}
168
169
*dir_gone = 0;
170
- return 0;
170
+ goto out;
171
}
172
173
dir = opendir(path->buf);
@@ -181,7 +181,8 @@ static int remove_dirs(struct strbuf *path, const char *prefix, int force_flag,
181
warning_errno(_(msg_warn_remove_failed), quoted.buf);
182
*dir_gone = 0;
183
}
184
- return res;
184
+ ret = res;
185
+ goto out;
186
}
187
188
strbuf_complete(path, '/');
@@ -249,6 +250,8 @@ static int remove_dirs(struct strbuf *path, const char *prefix, int force_flag,
250
for (i = 0; i < dels.nr; i++)
251
printf(dry_run ? _(msg_would_remove) : _(msg_remove), dels.items[i].string);
252
}
253
+out:
254
+ strbuf_release("ed);
255
string_list_clear(&dels, 0);
256
return ret;
257
}