From 641519acf2ece69965dd21535b5837dbdf7784cd Mon Sep 17 00:00:00 2001 From: Todd Gruben Date: Fri, 15 Sep 2017 22:10:48 -0500 Subject: [PATCH] cleanup on unmarshall shrink --- roaring/roaring.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/roaring/roaring.go b/roaring/roaring.go index cab2c4564..f54efb76f 100644 --- a/roaring/roaring.go +++ b/roaring/roaring.go @@ -622,6 +622,10 @@ func (b *Bitmap) UnmarshalBinary(data []byte) error { b.keys = make([]uint64, 0, keyN) b.containers = make([]*container, 0, keyN) } else if int(keyN) < len(b.keys) { //shrink + // nil out to allow to be GCed + for i := range b.containers[keyN:] { + b.containers[int(keyN)+i] = nil + } b.keys = b.keys[:keyN] b.containers = b.containers[:keyN] }