@matheusbsbs / matheus-bagliano / commits / 9101c8ea2d
Fork 0

submodule--helper: use strbuf_release() to free strbufs

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 <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jeff King committed Aug 14, 2020 at 12:14 UTC 9101c8ea2db466cce6d7d419d48e0516c6118813
1 file changed +2 -2
builtin/submodule--helper.c
+2 -2
@@ -1747,8 +1747,8 @@ static int prepare_to_clone_next_submodule(const struct cache_entry *ce,
1747 "--no-single-branch");
1748
1749 cleanup:
1750 - strbuf_reset(&displaypath_sb);
1751 - strbuf_reset(&sb);
1750 + strbuf_release(&displaypath_sb);
1751 + strbuf_release(&sb);
1752 if (need_free_url)
1753 free((void*)url);
1754