From 0983790428deecb066c4ee44e757dcb42bb55c47 Mon Sep 17 00:00:00 2001 From: Ammar Bandukwala Date: Sat, 10 Jun 2017 15:39:27 -0500 Subject: [PATCH] Fix goroutine leak in opusReceiver (#393) --- voice.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/voice.go b/voice.go index 8b566f4..5bbd0ad 100644 --- a/voice.go +++ b/voice.go @@ -814,7 +814,11 @@ func (v *VoiceConnection) opusReceiver(udpConn *net.UDPConn, close <-chan struct p.Opus, _ = secretbox.Open(nil, recvbuf[12:rlen], &nonce, &v.op4.SecretKey) if c != nil { - c <- &p + select { + case c <- &p: + case <-close: + return + } } } }