From e2a924c776f8a8d9984c67870022612917390b13 Mon Sep 17 00:00:00 2001 From: hebo Date: Fri, 27 Sep 2019 14:13:59 +0800 Subject: [PATCH] fix bug when deal invalid package --- capture/network.go | 2 +- session-dealer/mysql/session.go | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/capture/network.go b/capture/network.go index 0308730..9f00792 100644 --- a/capture/network.go +++ b/capture/network.go @@ -119,7 +119,7 @@ func (nc *networkCard) listenNormal() { time.Sleep(time.Second*3) continue } - + // capture packets according to a certain probability tcpCapturePacketRate := communicator.GetTCPCapturePacketRate() if tcpCapturePacketRate <= 0 { diff --git a/session-dealer/mysql/session.go b/session-dealer/mysql/session.go index 0a0ec77..b2194da 100644 --- a/session-dealer/mysql/session.go +++ b/session-dealer/mysql/session.go @@ -149,6 +149,11 @@ func (ms *MysqlSession) readFromClient(seqID int64, bytes []byte) { return } + // ignore invalid head package + if len(bytes) <= 4{ + return + } + contents := bytes[4:] // add prepare info if contents[0] == ComStmtPrepare {