diff options
-rw-r--r-- | split-index.c | 6 | ||||
-rwxr-xr-x | t/t1700-split-index.sh | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/split-index.c b/split-index.c index 120c8190b1..cfbc773e6c 100644 --- a/split-index.c +++ b/split-index.c @@ -97,7 +97,11 @@ void move_cache_to_base_index(struct index_state *istate) mem_pool_combine(istate->ce_mem_pool, istate->split_index->base->ce_mem_pool); } - ALLOC_ARRAY(si->base, 1); + if (si->base) + release_index(si->base); + else + ALLOC_ARRAY(si->base, 1); + index_state_init(si->base, istate->repo); si->base->version = istate->version; /* zero timestamp disables racy test in ce_write_index() */ diff --git a/t/t1700-split-index.sh b/t/t1700-split-index.sh index ac4a5b2734..2625ac4488 100755 --- a/t/t1700-split-index.sh +++ b/t/t1700-split-index.sh @@ -5,6 +5,7 @@ test_description='split index mode tests' GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME +TEST_PASSES_SANITIZE_LEAK=true . ./test-lib.sh # We need total control of index splitting here |