Skip to content

Commit 32dbf71

Browse files
committed
fix use nil parameter, the MinMaxBig func will throw panic's problem
1 parent bd799d0 commit 32dbf71

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

roaring64/bsi64.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -509,6 +509,10 @@ func (b *BSI) MinMaxBig(parallelism int, op Operation, foundSet *Bitmap) *big.In
509509

510510
resultsChan := make(chan *big.Int, n)
511511

512+
if foundSet == nil {
513+
foundSet = &b.eBM
514+
}
515+
512516
card := foundSet.GetCardinality()
513517
x := card / uint64(n)
514518

roaring64/bsi64_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -649,6 +649,12 @@ func TestMinMaxWithRandom(t *testing.T) {
649649
assert.Equal(t, max, bsi.MinMax(0, MAX, bsi.GetExistenceBitmap()))
650650
}
651651

652+
func TestMinMaxWithNilFoundSet(t *testing.T) {
653+
bsi, min, max := setupRandom()
654+
assert.Equal(t, min, bsi.MinMax(0, MIN, nil))
655+
assert.Equal(t, max, bsi.MinMax(0, MAX, nil))
656+
}
657+
652658
func TestBSIWriteToReadFrom(t *testing.T) {
653659
file, err := ioutil.TempFile("./testdata", "bsi-test")
654660
if err != nil {

0 commit comments

Comments
 (0)