From: Jeff King Date: Mon, 17 Aug 2020 21:33:04 GMT Subject: [PATCH v2 2/7] submodule--helper: use strbuf_release() to free strbufs Message-ID: <20200817213304.GB1854722@coredump.intra.peff.net> In-Reply-To: <20200817213228.GA1854603@coredump.intra.peff.net> The prepare_to_clone_next_submodule() function has a few local-variable strbufs. We use strbuf_reset() throughout the function to reuse the buffers over and over. But at the end of the function we also use strbuf_reset() as they go out of scope, which means we end up leaking their heap buffers. This should be strbuf_release() instead. These were introduced by 48308681b0 (git submodule update: have a dedicated helper for cloning, 2016-02-29), but it doesn't seem to have the same mistake elsewhere. Likewise, I looked for other instances of the pattern in the submodule--helper file but couldn't find any. Signed-off-by: Jeff King --- builtin/submodule--helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index df135abbf1..1762458345 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -1747,8 +1747,8 @@ static int prepare_to_clone_next_submodule(const struct cache_entry *ce, "--no-single-branch"); cleanup: - strbuf_reset(&displaypath_sb); - strbuf_reset(&sb); + strbuf_release(&displaypath_sb); + strbuf_release(&sb); if (need_free_url) free((void*)url); -- 2.28.0.605.g35fde94f44