Skip to content

Commit f1af195

Browse files
committed
Merge branch 'ly/pack-bitmap-root-leakfix'
Memleak fix on an error code path. * ly/pack-bitmap-root-leakfix: pack-bitmap: remove checks before bitmap_free
2 parents 0d0d56b + 81cd1ee commit f1af195

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

pack-bitmap.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1363,8 +1363,8 @@ static struct bitmap *find_boundary_objects(struct bitmap_index *bitmap_git,
13631363
bitmap_set(roots_bitmap, pos);
13641364
}
13651365

1366-
if (!cascade_pseudo_merges_1(bitmap_git, cb.base, roots_bitmap))
1367-
bitmap_free(roots_bitmap);
1366+
cascade_pseudo_merges_1(bitmap_git, cb.base, roots_bitmap);
1367+
bitmap_free(roots_bitmap);
13681368
}
13691369

13701370
/*

t/t5333-pseudo-merge-bitmaps.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,4 +445,21 @@ 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 pack.useBitmapBoundaryTraversal true &&
455+
456+
test_commit A &&
457+
git repack -adb &&
458+
test_commit B &&
459+
460+
nr=$(git rev-list --count --use-bitmap-index HEAD~1..HEAD) &&
461+
test 1 -eq "$nr"
462+
)
463+
'
464+
448465
test_done

0 commit comments

Comments
 (0)