From: Taylor Blau <me@ttaylorr.com>
To: git@vger.kernel.org
Cc: avarab@gmail.com, dstolee@microsoft.com, peff@peff.net
Subject: [PATCH 11/11] t5319: UNLEAK() the remaining leaks
Date: Wed, 20 Oct 2021 23:40:12 -0400 [thread overview]
Message-ID: <f1bb8b73ffdb78995dc5653791f9a64adf216e21.1634787555.git.me@ttaylorr.com> (raw)
In-Reply-To: <cover.1634787555.git.me@ttaylorr.com>
This resolves the remaining leaks uncovered by running t5319 when
building with SANITIZE=leak. All of the leaks below are related to
allocated memory stored in 'struct rev_info' which is never freed.
We could alternatively implement a function which frees all allocated
memory associated with the rev_info struct, but doing this properly is a
bigger undertaking than I want to deal with right now.
Instead, let's just UNLEAK() the few ones that are holding up t5319,
which enables us to mark that test as TEST_PASSES_SANITIZE_LEAK.
Signed-off-by: Taylor Blau <me@ttaylorr.com>
---
builtin/log.c | 1 +
builtin/pack-objects.c | 1 +
builtin/rev-list.c | 2 ++
pack-bitmap-write.c | 2 ++
t/t5319-multi-pack-index.sh | 1 +
5 files changed, 7 insertions(+)
diff --git a/builtin/log.c b/builtin/log.c
index f75d87e8d7..ad6dfacf77 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -757,6 +757,7 @@ int cmd_log(int argc, const char **argv, const char *prefix)
opt.revarg_opt = REVARG_COMMITTISH;
opt.tweak = log_setup_revisions_tweak;
cmd_log_init(argc, argv, prefix, &rev, &opt);
+ UNLEAK(rev);
return cmd_log_walk(&rev);
}
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index 857be7826f..6128a2e2a5 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -3759,6 +3759,7 @@ static void get_object_list(int ac, const char **av)
if (handle_revision_arg(line, &revs, flags, REVARG_CANNOT_BE_FILENAME))
die(_("bad revision '%s'"), line);
}
+ UNLEAK(revs);
warn_on_object_refname_ambiguity = save_warning;
diff --git a/builtin/rev-list.c b/builtin/rev-list.c
index 36cb909eba..df3811e763 100644
--- a/builtin/rev-list.c
+++ b/builtin/rev-list.c
@@ -549,6 +549,8 @@ int cmd_rev_list(int argc, const char **argv, const char *prefix)
argc = setup_revisions(argc, argv, &revs, &s_r_opt);
+ UNLEAK(revs);
+
memset(&info, 0, sizeof(info));
info.revs = &revs;
if (revs.bisect)
diff --git a/pack-bitmap-write.c b/pack-bitmap-write.c
index cab3eaa2ac..742bae4f57 100644
--- a/pack-bitmap-write.c
+++ b/pack-bitmap-write.c
@@ -234,6 +234,8 @@ static void bitmap_builder_init(struct bitmap_builder *bb,
if (prepare_revision_walk(&revs))
die("revision walk setup failed");
+ UNLEAK(revs);
+
while ((commit = get_revision(&revs))) {
struct commit_list *p = commit->parents;
struct bb_commit *c_ent;
diff --git a/t/t5319-multi-pack-index.sh b/t/t5319-multi-pack-index.sh
index a3c72b68f7..9cfc3d6661 100755
--- a/t/t5319-multi-pack-index.sh
+++ b/t/t5319-multi-pack-index.sh
@@ -3,6 +3,7 @@
test_description='multi-pack-indexes'
. ./test-lib.sh
+TEST_PASSES_SANITIZE_LEAK=true
GIT_TEST_MULTI_PACK_INDEX=0
objdir=.git/objects
--
2.33.0.96.g73915697e6
next prev parent reply other threads:[~2021-10-21 3:40 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-21 3:39 [PATCH 00/11] midx: clean up t5319 under 'SANITIZE=leak' Taylor Blau
2021-10-21 3:39 ` [PATCH 01/11] midx.c: clean up chunkfile after reading the MIDX Taylor Blau
2021-10-21 5:50 ` Junio C Hamano
2021-10-21 11:34 ` Ævar Arnfjörð Bjarmason
2021-10-21 16:16 ` Junio C Hamano
2021-10-22 3:04 ` Taylor Blau
2021-10-21 3:39 ` [PATCH 02/11] midx.c: don't leak MIDX from verify_midx_file Taylor Blau
2021-10-21 5:00 ` Eric Sunshine
2021-10-21 5:54 ` Junio C Hamano
2021-10-21 16:27 ` Junio C Hamano
2021-10-21 3:39 ` [PATCH 03/11] t/helper/test-read-midx.c: free MIDX within read_midx_file() Taylor Blau
2021-10-21 3:39 ` [PATCH 04/11] builtin/pack-objects.c: don't leak memory via arguments Taylor Blau
2021-10-21 3:39 ` [PATCH 05/11] builtin/repack.c: avoid leaking child arguments Taylor Blau
2021-10-21 13:32 ` Derrick Stolee
2021-10-21 18:47 ` Junio C Hamano
2021-10-21 16:37 ` Junio C Hamano
2021-10-22 3:21 ` Taylor Blau
2021-10-21 3:40 ` [PATCH 06/11] builtin/multi-pack-index.c: don't leak concatenated options Taylor Blau
2021-10-21 3:40 ` [PATCH 07/11] pack-bitmap.c: avoid leaking via midx_bitmap_filename() Taylor Blau
2021-10-21 16:54 ` Junio C Hamano
2021-10-22 4:27 ` Taylor Blau
2021-10-21 3:40 ` [PATCH 08/11] pack-bitmap.c: don't leak type-level bitmaps Taylor Blau
2021-10-21 16:59 ` Junio C Hamano
2021-10-21 3:40 ` [PATCH 09/11] pack-bitmap.c: more aggressively free in free_bitmap_index() Taylor Blau
2021-10-21 5:10 ` Eric Sunshine
2021-10-21 18:32 ` Junio C Hamano
2021-10-22 4:29 ` Taylor Blau
2021-10-21 18:43 ` Junio C Hamano
2021-10-21 3:40 ` [PATCH 10/11] pack-bitmap-write.c: don't return without stop_progress() Taylor Blau
2021-10-21 5:12 ` Eric Sunshine
2021-10-21 11:31 ` Ævar Arnfjörð Bjarmason
2021-10-21 18:39 ` Junio C Hamano
2021-10-22 4:32 ` Taylor Blau
2021-10-23 20:28 ` Junio C Hamano
2021-10-23 20:32 ` SubmittingPatchs: clarify choice of base and testing Junio C Hamano
2021-10-23 20:59 ` Ævar Arnfjörð Bjarmason
2021-10-23 21:31 ` Junio C Hamano
2021-10-23 21:40 ` Junio C Hamano
2021-10-25 8:59 ` Fabian Stelzer
2021-10-25 16:48 ` Junio C Hamano
2021-10-25 16:56 ` Junio C Hamano
2021-10-25 17:00 ` Junio C Hamano
2021-12-23 23:12 ` [PATCH v2] " Junio C Hamano
2021-12-28 17:47 ` Elijah Newren
2021-12-30 10:20 ` Fabian Stelzer
2021-12-30 20:18 ` Re* " Junio C Hamano
2021-10-21 3:40 ` Taylor Blau [this message]
2021-10-21 11:50 ` [PATCH 00/11] midx: clean up t5319 under 'SANITIZE=leak' Ævar Arnfjörð Bjarmason
2021-10-22 4:39 ` Taylor Blau
2021-10-22 8:23 ` Ævar Arnfjörð Bjarmason
2021-10-22 10:32 ` [PATCH] leak tests: add an interface to the LSAN_OPTIONS "suppressions" Ævar Arnfjörð Bjarmason
2021-10-26 20:23 ` Taylor Blau
2021-10-26 21:11 ` Jeff King
2021-10-26 21:30 ` Taylor Blau
2021-10-26 21:48 ` Jeff King
2021-10-27 8:04 ` Ævar Arnfjörð Bjarmason
2021-10-27 9:06 ` Jeff King
2021-10-27 20:21 ` Junio C Hamano
2021-10-27 20:57 ` Ævar Arnfjörð Bjarmason
2021-10-29 20:56 ` Jeff King
2021-10-29 21:05 ` Jeff King
2021-10-27 7:51 ` Ævar Arnfjörð Bjarmason
2021-10-21 13:37 ` [PATCH 00/11] midx: clean up t5319 under 'SANITIZE=leak' Derrick Stolee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f1bb8b73ffdb78995dc5653791f9a64adf216e21.1634787555.git.me@ttaylorr.com \
--to=me@ttaylorr.com \
--cc=avarab@gmail.com \
--cc=dstolee@microsoft.com \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).