types: check bufio.Reader

This commit is contained in:
Ethan Buchman
2018-02-03 00:24:48 -05:00
parent d2845d923b
commit 4450a20bde

View File

@@ -28,7 +28,11 @@ func ReadMessage(r io.Reader, msg proto.Message) error {
}
func readProtoMsg(r io.Reader, msg proto.Message, maxSize int) error {
reader := bufio.NewReader(r)
// binary.ReadVarint takes an io.ByteReader, eg. a bufio.Reader
reader, ok := r.(*bufio.Reader)
if !ok {
reader = bufio.NewReader(r)
}
length64, err := binary.ReadVarint(reader)
if err != nil {
return err