From c3ff3f5d1ac57dc88f07aba1c46f71c3539eefc6 Mon Sep 17 00:00:00 2001 From: Andy Wang Date: Wed, 21 Aug 2019 13:14:23 +0100 Subject: [PATCH] Fix the weird nil pointer again --- internal/multiplex/switchboard.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/internal/multiplex/switchboard.go b/internal/multiplex/switchboard.go index b7e8419..d315ac8 100644 --- a/internal/multiplex/switchboard.go +++ b/internal/multiplex/switchboard.go @@ -100,10 +100,14 @@ func (sb *switchboard) send(data []byte, connId *uint32) (n int, err error) { return 0, errBrokenSwitchboard } newConnId := rand.Intn(len(sb.conns)) - conn, _ = sb.conns[uint32(newConnId)] - n, err = conn.Write(data) - sb.AddTx(int64(n)) - return + conn, ok = sb.conns[uint32(newConnId)] + if !ok { + return 0, errBrokenSwitchboard + } else { + n, err = conn.Write(data) + sb.AddTx(int64(n)) + return + } } }