From 0f62ef687c8655ce704511f1c9af00a60134d568 Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Thu, 24 Aug 2017 14:56:46 -0400 Subject: [PATCH] Proper bounds check Closes #791 --- cmd/micro/lineArray.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/cmd/micro/lineArray.go b/cmd/micro/lineArray.go index 734a51c3..93004ac4 100644 --- a/cmd/micro/lineArray.go +++ b/cmd/micro/lineArray.go @@ -71,11 +71,15 @@ func NewLineArray(size int64, reader io.Reader) *LineArray { n := 0 for { data, err := br.ReadBytes('\n') - if len(data) > 0 && data[len(data)-2] == '\r' { + if len(data) > 1 && data[len(data)-2] == '\r' { data = append(data[:len(data)-2], '\n') - fileformat = 2 + if fileformat == 0 { + fileformat = 2 + } } else if len(data) > 0 { - fileformat = 1 + if fileformat == 0 { + fileformat = 1 + } } if n >= 1000 && loaded >= 0 {