From 375538263ba98f55d952348e250ea7de1a59d7e2 Mon Sep 17 00:00:00 2001 From: Leonid Bugaev Date: Fri, 17 Mar 2017 15:01:32 +0100 Subject: [PATCH] Add additional check for malformed packets --- raw_socket_listener/tcp_packet.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/raw_socket_listener/tcp_packet.go b/raw_socket_listener/tcp_packet.go index 9427a3c..19deda4 100644 --- a/raw_socket_listener/tcp_packet.go +++ b/raw_socket_listener/tcp_packet.go @@ -77,9 +77,9 @@ func (t *TCPPacket) ParseBasic() { t.DataOffset = (t.Raw[12] & 0xF0) >> 4 t.IsFIN = t.Raw[13]&0x01 != 0 - // log.Println("DataOffset:", t.DataOffset, t.DestPort, t.SrcPort, t.Seq, t.Ack) - - t.Data = t.Raw[t.DataOffset*4:] + if len(t.Raw) >= int(t.DataOffset*4) { + t.Data = t.Raw[t.DataOffset*4:] + } } func (t *TCPPacket) dump() *packet {