From db91c5e08b556eea469a6390ee31207d100bbcbf Mon Sep 17 00:00:00 2001 From: justin Date: Sun, 2 Aug 2015 08:21:16 -0400 Subject: [PATCH] Fixed server crash from client malformed data --- client.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/client.go b/client.go index d5dcb79..b874460 100644 --- a/client.go +++ b/client.go @@ -67,17 +67,18 @@ func (c *Client) handleIncoming() { c.Server.AddClient(c) for { message, err := c.Decode() - if err != nil || message == nil { + if err != nil { _, closedError := err.(*net.OpError) if err == io.EOF || err == io.ErrClosedPipe || closedError || strings.Contains(err.Error(), "use of closed network connection") { return } - println("Error decoding incoming message", err.Error()) - return - //continue + + continue + } + if message == nil || message.Len() == 0 { + continue } - //println(message.String()) c.idleTimer.Stop() c.idleTimer = time.AfterFunc(time.Minute, c.idle)