From 2fe3050f22b0ad07b7615c4263c8064a8ea9241f Mon Sep 17 00:00:00 2001 From: Rangel Reale Date: Tue, 11 Oct 2016 17:32:04 -0300 Subject: [PATCH] * io.ReadAtLeast can read more bytes from the source than needed, if you read directly from the source after using bitreader, some bytes may have been "lost" --- simple_reader_32.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/simple_reader_32.go b/simple_reader_32.go index 164905e..35c9ea7 100644 --- a/simple_reader_32.go +++ b/simple_reader_32.go @@ -74,8 +74,8 @@ func (b *simpleReader32) check(bits uint) error { func (b *simpleReader32) fill(needed uint) error { neededBytes := int((needed - b.bitsLeft + 7) >> 3) - n, err := io.ReadAtLeast(b.source, b.readBuffer, neededBytes) - + b.readBuffer = make([]byte, neededBytes) + n, err := io.ReadFull(b.source, b.readBuffer) if err != nil { return err }