diff --git a/src/yggdrasil/router.go b/src/yggdrasil/router.go index 2df7684f..161ae60a 100644 --- a/src/yggdrasil/router.go +++ b/src/yggdrasil/router.go @@ -161,7 +161,9 @@ func (r *router) handleTraffic(packet []byte) { return } sinfo, isIn := r.core.sessions.getSessionForHandle(&p.Handle) - if !isIn { + if !isIn || sinfo.cancel == nil { + // FIXME make sure sinfo.cancel can never be nil + util.PutBytes(p.Payload) return } select {