From abc83a9190e7cce1b02e23d778c062240d66d19d Mon Sep 17 00:00:00 2001 From: Qian Wang Date: Fri, 9 Aug 2019 10:36:27 +0100 Subject: [PATCH] Potential fix to an edge case nil pointer --- internal/multiplex/switchboard.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/internal/multiplex/switchboard.go b/internal/multiplex/switchboard.go index 270b4ac..a67e3d2 100644 --- a/internal/multiplex/switchboard.go +++ b/internal/multiplex/switchboard.go @@ -76,8 +76,12 @@ func (sb *switchboard) send(data []byte, connId *uint32) (int, error) { return 0, errBrokenSwitchboard } newConnId := rand.Intn(len(sb.conns)) - conn = sb.conns[uint32(newConnId)] - return conn.Write(data) + conn, ok = sb.conns[uint32(newConnId)] + if !ok { + return 0, errBrokenSwitchboard + } else { + return conn.Write(data) + } } }