Skip to content
This repository was archived by the owner on Jun 12, 2022. It is now read-only.

Commit 32bd3d6

Browse files
committed
🏓 Fix padding handling
1 parent b99d77b commit 32bd3d6

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

shadowsocks/header.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ func ParseTCPReqHeader(r Reader, cipherConfig CipherConfig) (string, []byte, err
105105

106106
// Skip padding.
107107
offset += paddingLen
108-
if offset >= len(b) {
108+
if offset > len(b) {
109109
return "", nil, ErrPaddingExceedChunkBorder
110110
}
111111
}
@@ -298,7 +298,7 @@ func WriteRandomPadding(b []byte, targetPort int, max int) int {
298298
return 2
299299
}
300300

301-
paddingLen := rand.Intn(max)
301+
paddingLen := rand.Intn(max + 1)
302302
binary.BigEndian.PutUint16(b, uint16(paddingLen))
303303
return 2 + paddingLen
304304
}

0 commit comments

Comments
 (0)