diff --git a/connection.go b/connection.go index 68b4e0b3..6c8ccd43 100644 --- a/connection.go +++ b/connection.go @@ -115,7 +115,8 @@ func NewMConnection(config cfg.Config, conn net.Conn, chDescs []*ChannelDescript var channels = []*Channel{} for _, desc := range chDescs { - channel := newChannel(mconn, desc) + descCopy := *desc // copy the desc else unsafe access across connections + channel := newChannel(mconn, &descCopy) channelsIdx[channel.id] = channel channels = append(channels, channel) }