From 52ed8b4d1ec362cba01873b27ac786197a28371b Mon Sep 17 00:00:00 2001 From: Leonid Bugaev Date: Fri, 24 Aug 2018 16:35:04 +0500 Subject: [PATCH] Add protection for malformed records --- emitter.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/emitter.go b/emitter.go index 8e4180c..7b920bb 100644 --- a/emitter.go +++ b/emitter.go @@ -57,16 +57,21 @@ func CopyMulty(src io.Reader, writers ...io.Writer) (err error) { for { nr, er := src.Read(buf) + _maxN := nr + if nr > 500 { + _maxN = 500 + } if nr > 0 && len(buf) > nr { payload := buf[:nr] meta := payloadMeta(payload) - requestID := string(meta[1]) - - _maxN := nr - if nr > 500 { - _maxN = 500 + if len(meta) < 3 { + if Settings.debug { + Debug("[EMITTER] Found malformed record", string(payload[0:_maxN]), nr, "from:", src) + } + continue } + requestID := string(meta[1]) if Settings.debug { Debug("[EMITTER] input:", string(payload[0:_maxN]), nr, "from:", src)