]> git.ipfire.org Git - thirdparty/git.git/commitdiff
read-cache.c: clear and free "sparse_checkout_patterns"
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Tue, 8 Nov 2022 18:17:40 +0000 (19:17 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 21 Nov 2022 03:32:48 +0000 (12:32 +0900)
The "sparse_checkout_patterns" member was added to the "struct
index_state" in 836e25c51b2 (sparse-checkout: hold pattern list in
index, 2021-03-30), but wasn't added to discard_index(). Let's do
that.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Taylor Blau <me@ttaylorr.com>
read-cache.c
t/t1011-read-tree-sparse-checkout.sh
t/t2018-checkout-branch.sh
t/t6435-merge-sparse.sh

index 32024029274828c12654e3c256de3d8d08f37734..7c6477487a72824739f8099760c29d06036f4ece 100644 (file)
@@ -2558,6 +2558,11 @@ int discard_index(struct index_state *istate)
        free_untracked_cache(istate->untracked);
        istate->untracked = NULL;
 
+       if (istate->sparse_checkout_patterns) {
+               clear_pattern_list(istate->sparse_checkout_patterns);
+               FREE_AND_NULL(istate->sparse_checkout_patterns);
+       }
+
        if (istate->ce_mem_pool) {
                mem_pool_discard(istate->ce_mem_pool, should_validate_cache_entries());
                FREE_AND_NULL(istate->ce_mem_pool);
index 742f0fa909fd6e8a7fe2b376b3e5083a30d71c73..595b24c0adb3081230fe65884fd436e1f12896d4 100755 (executable)
@@ -12,6 +12,7 @@ test_description='sparse checkout tests
 '
 
 TEST_CREATE_REPO_NO_TEMPLATE=1
+TEST_PASSES_SANITIZE_LEAK=true
 . ./test-lib.sh
 . "$TEST_DIRECTORY"/lib-read-tree.sh
 
index 771c3c3c50e60583e3ba8dffbb62f47a7619f35b..8581ad3437907862e022e1bea8339182d68ef873 100755 (executable)
@@ -3,6 +3,7 @@
 test_description='checkout'
 
 TEST_CREATE_REPO_NO_TEMPLATE=1
+TEST_PASSES_SANITIZE_LEAK=true
 . ./test-lib.sh
 
 # Arguments: [!] <branch> <oid> [<checkout options>]
index fde4aa3cd1ab66a13c61234155da0c2bacb851a9..78628fb248ab6143ef83d11e819f15c30b52f278 100755 (executable)
@@ -3,6 +3,7 @@
 test_description='merge with sparse files'
 
 TEST_CREATE_REPO_NO_TEMPLATE=1
+TEST_PASSES_SANITIZE_LEAK=true
 . ./test-lib.sh
 
 # test_file $filename $content