From 476ed808f9b9d89a7a25f532876e51d9a8efe932 Mon Sep 17 00:00:00 2001 From: bruce34 Date: Sat, 16 Feb 2019 08:03:17 +0000 Subject: [PATCH] Bugfix index out of bounds (\r\n\r\n split over two packets) (#632) --- raw_socket_listener/tcp_message.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/raw_socket_listener/tcp_message.go b/raw_socket_listener/tcp_message.go index 27c65dd..196c76a 100644 --- a/raw_socket_listener/tcp_message.go +++ b/raw_socket_listener/tcp_message.go @@ -220,8 +220,9 @@ func (t *TCPMessage) updateHeadersPacket() { t.headerPacket = i return } - } else if bytes.Equal(p.Data, bBR) { - if bytes.LastIndex(t.packets[i-1].Data, bBR) != -1 { + } else if i > 0 && bytes.Equal(p.Data, bBR) { + idx := bytes.LastIndex(t.packets[i-1].Data, bBR) + if idx != -1 && idx == len(t.packets[i-1].Data)-len(bBR) { t.headerPacket = i return }