diff options
Diffstat (limited to 'src/encoding/gob/decoder.go')
| -rw-r--r-- | src/encoding/gob/decoder.go | 6 |
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 } |
