Skip to content

Commit 0e65d13

Browse files
committed
try to avoid out-of-bound read on abrupt serial event
1 parent 72bcdc1 commit 0e65d13

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

serialport.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,10 @@ func (p *serport) reader() {
104104
n, err := p.portIo.Read(ch)
105105

106106
if err != nil {
107-
ch = append(buffered_ch.Bytes(), ch[:n]...)
107+
if n > len(ch) {
108+
n = len(ch)
109+
}
110+
ch = append(buffered_ch.Bytes(), ch[:n-1]...)
108111
n += len(buffered_ch.Bytes())
109112
buffered_ch.Reset()
110113
}

0 commit comments

Comments
 (0)