From 4386355e1f842352efe55b11b7c64e542e86e043 Mon Sep 17 00:00:00 2001 From: eyedeekay Date: Sun, 1 Jun 2025 18:25:35 -0400 Subject: [PATCH] Work on raw datagram tests --- raw/read.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/raw/read.go b/raw/read.go index 6c7d4a79..51d12edb 100644 --- a/raw/read.go +++ b/raw/read.go @@ -74,7 +74,12 @@ func (r *RawReader) Close() error { // receiveLoop continuously receives incoming raw datagrams func (r *RawReader) receiveLoop() { - logger := log.WithField("session_id", r.session.ID()) + // Fix: Safe session ID retrieval with nil checks + sessionID := "unknown" + if r.session != nil && r.session.BaseSession != nil { + sessionID = r.session.ID() + } + logger := log.WithField("session_id", sessionID) logger.Debug("Starting raw receive loop") // Signal completion when this loop exits @@ -88,6 +93,11 @@ func (r *RawReader) receiveLoop() { }() // Check session state before starting loop + if r.session == nil { + logger.Debug("Raw receive loop terminated - session is nil") + return + } + r.session.mu.RLock() if r.session.closed || r.session.BaseSession == nil { r.session.mu.RUnlock()