From ec1a57f40f78ed5209cdcc7efbadc8d004716b2d Mon Sep 17 00:00:00 2001 From: Máximo Cuadros Date: Thu, 19 May 2016 13:02:29 +0200 Subject: formats/pktline: fixed underflow glitch reading network stream --- formats/pktline/decoder.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/formats/pktline/decoder.go b/formats/pktline/decoder.go index a078475..c30be6b 100644 --- a/formats/pktline/decoder.go +++ b/formats/pktline/decoder.go @@ -48,10 +48,12 @@ func (d *Decoder) readLine() (string, error) { } line := make([]byte, exp) - if read, err := d.r.Read(line); err != nil { + if read, err := io.ReadFull(d.r, line); err != nil { + if err == io.ErrUnexpectedEOF && read < exp { + return "", ErrUnderflow + } + return "", err - } else if read != exp { - return "", ErrUnderflow } return string(line), nil -- cgit