Skip to content

Commit 1e629ee

Browse files
committed
Merge branch 'ly/pack-bitmap-root-leakfix' into seen
Memleak fix on an error code path. * ly/pack-bitmap-root-leakfix: pack-bitmap: remove checks before bitmap_free
2 parents 732fdf9 + 864827b commit 1e629ee

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

pack-bitmap.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1360,8 +1360,8 @@ static struct bitmap *find_boundary_objects(struct bitmap_index *bitmap_git,
13601360
bitmap_set(roots_bitmap, pos);
13611361
}
13621362

1363-
if (!cascade_pseudo_merges_1(bitmap_git, cb.base, roots_bitmap))
1364-
bitmap_free(roots_bitmap);
1363+
cascade_pseudo_merges_1(bitmap_git, cb.base, roots_bitmap);
1364+
bitmap_free(roots_bitmap);
13651365
}
13661366

13671367
/*

t/t5333-pseudo-merge-bitmaps.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,4 +445,24 @@ test_expect_success 'pseudo-merge closure' '
445445
)
446446
'
447447

448+
test_expect_success 'use pseudo-merge in boundary traversal' '
449+
git init pseudo-merge-boundary-traversal &&
450+
(
451+
cd pseudo-merge-boundary-traversal &&
452+
453+
git config bitmapPseudoMerge.test.pattern refs/ &&
454+
git config bitmapPseudoMerge.test.threshold now &&
455+
git config bitmapPseudoMerge.test.stableThreshold now &&
456+
457+
test_commit A &&
458+
git repack -adb &&
459+
test_commit B &&
460+
461+
echo '1' >expect &&
462+
GIT_TEST_PACK_USE_BITMAP_BOUNDARY_TRAVERSAL=1 \
463+
git rev-list --count --use-bitmap-index HEAD~1..HEAD >actual &&
464+
test_cmp expect actual
465+
)
466+
'
467+
448468
test_done

0 commit comments

Comments
 (0)