From 6115ea7e3f6d16a6b7428e6633a33cc96cdf284b Mon Sep 17 00:00:00 2001 From: Nikita Safonov Date: Mon, 26 Feb 2018 23:47:20 +0300 Subject: [PATCH] fix: tcp_proxy module do not panic on empty script --- modules/tcp_proxy.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/tcp_proxy.go b/modules/tcp_proxy.go index 2bceb8c2..49b530cd 100644 --- a/modules/tcp_proxy.go +++ b/modules/tcp_proxy.go @@ -145,12 +145,16 @@ func (p *TcpProxy) doPipe(from, to net.Addr, src, dst io.ReadWriter, wg *sync.Wa } b := buff[:n] - ret := p.script.OnData(from, to, b) - if ret != nil { - nret := len(ret) - log.Info("Overriding %d bytes of data from %s to %s with %d bytes of new data.", n, from.String(), to.String(), nret) - b = make([]byte, nret) - copy(b, ret) + if p.script != nil { + ret := p.script.OnData(from, to, b) + + if ret != nil { + nret := len(ret) + log.Info("Overriding %d bytes of data from %s to %s with %d bytes of new data.", + n, from.String(), to.String(), nret) + b = make([]byte, nret) + copy(b, ret) + } } n, err = dst.Write(b)