Skip to content

Commit e0f81a0

Browse files
GODRIVER-3533 Account for full buffer in appending next ele
1 parent 20145ad commit e0f81a0

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

bson/value_reader.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,16 @@ func (vr *valueReader) appendNextElement(dst []byte) ([]byte, error) {
282282

283283
buf, err := vr.r.Peek(int(length))
284284
if err != nil {
285+
if err == bufio.ErrBufferFull {
286+
temp := make([]byte, length)
287+
if _, err = io.ReadFull(vr.r, temp); err != nil {
288+
return nil, err
289+
}
290+
dst = append(dst, temp...)
291+
vr.offset += int64(len(temp))
292+
return dst, nil
293+
}
294+
285295
return nil, err
286296
}
287297

0 commit comments

Comments
 (0)