~humaid/tlsspy

0c0043a29947db4c8fdc46a35becb9d82bb304f4 — Humaid AlQassimi 2 years ago 02ba008
Fix some bugs with crashing due to out of bounds
1 files changed, 8 insertions(+), 2 deletions(-)

M main.go
M main.go => main.go +8 -2
@@ 83,14 83,14 @@ func parseTransportLayer(data []byte) string {
	}
	// cypher suites
	j = binary.BigEndian.Uint16(data[0:2])
	if len(data) <= int(j) {
	if len(data) <= int(j)+4 {
		return ""
	}
	data = data[j+2:]

	// skip comp method
	j = uint16(data[0])
	if len(data) <= int(j) {
	if len(data) <= int(j)+4 {
		return ""
	}
	data = data[j+1:]


@@ 107,8 107,14 @@ func parseTransportLayer(data []byte) string {
				return ""
			}
			end := binary.BigEndian.Uint16(data[5:7])
			if len(data) < int(end)+7 {
				return ""
			}
			return string(data[7 : 7+end])
		} else {
			if len(data) < 4 {
				return ""
			}
			data = data[2:]
			j = binary.BigEndian.Uint16(data[0:2])
			if len(data) <= int(j) {