Skip to content

Commit 0d0a427

Browse files
committed
Fix reading more than the size of an exception response
Fixes #20
1 parent 9ffe737 commit 0d0a427

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

rtuclient.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ import (
1414
const (
1515
rtuMinSize = 4
1616
rtuMaxSize = 256
17+
18+
rtuExceptionSize = 5
1719
)
1820

1921
// RTUClientHandler implements Packager and Transporter interface.
@@ -149,8 +151,8 @@ func (mb *rtuSerialTransporter) Send(aduRequest []byte) (aduResponse []byte, err
149151
}
150152
} else if data[1] == functionFail {
151153
//for error we need to read 5 bytes
152-
if n < bytesToRead {
153-
n1, err = io.ReadFull(mb.port, data[n:5])
154+
if n < rtuExceptionSize {
155+
n1, err = io.ReadFull(mb.port, data[n:rtuExceptionSize])
154156
}
155157
n += n1
156158
}

0 commit comments

Comments
 (0)