8000 Merge pull request #309 from wutz/master · etherscan-io/sftp@84e6527 · GitHub
[go: up one dir, main page]

Skip to content

Commit 84e6527

Browse files
authored
Merge pull request pkg#309 from wutz/master
fix: received packet too long
2 parents 0852dba + cfce8a5 commit 84e6527

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

packet.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,13 @@ import (
1313
)
1414

1515
var (
16+
errLongPacket = errors.New("packet too long")
1617
errShortPacket = errors.New("packet too short")
1718
errUnknownExtendedPacket = errors.New("unknown extended packet")
1819
)
1920

2021
const (
22+
maxMsgLength = 256 * 1024
2123
debugDumpTxPacket = false
2224
debugDumpRxPacket = false
2325
debugDumpTxPacketBytes = false
@@ -143,6 +145,10 @@ func recvPacket(r io.Reader) (uint8, []byte, error) {
143145
return 0, nil, err
144146
}
145147
l, _ := unmarshalUint32(b)
148+
if l > maxMsgLength {
149+
debug("recv packet %d bytes too long", l)
150+
return 0, nil, errLongPacket
151+
}
146152
b = make([]byte, l)
147153
if _, err := io.ReadFull(r, b); err != nil {
148154
debug("recv packet %d bytes: err %v", l, err)

0 commit comments

Comments
 (0)
0