aboutsummaryrefslogtreecommitdiff
path: root/src/encoding/gob/decoder.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/encoding/gob/decoder.go')
-rw-r--r--src/encoding/gob/decoder.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/encoding/gob/decoder.go b/src/encoding/gob/decoder.go
index 9c4257eb3b..5b77adc7e8 100644
--- a/src/encoding/gob/decoder.go
+++ b/src/encoding/gob/decoder.go
@@ -7,6 +7,7 @@ package gob
import (
"bufio"
"errors"
+ "internal/saferio"
"io"
"reflect"
"sync"
@@ -98,8 +99,9 @@ func (dec *Decoder) readMessage(nbytes int) {
panic("non-empty decoder buffer")
}
// Read the data
- dec.buf.Size(nbytes)
- _, dec.err = io.ReadFull(dec.r, dec.buf.Bytes())
+ var buf []byte
+ buf, dec.err = saferio.ReadData(dec.r, uint64(nbytes))
+ dec.buf.SetBytes(buf)
if dec.err == io.EOF {
dec.err = io.ErrUnexpectedEOF
}