From 32dd98a0a9afce8ee3b05f08728d46a82f1cfbe7 Mon Sep 17 00:00:00 2001 From: gatici Date: Fri, 13 Dec 2024 17:22:30 +0300 Subject: [PATCH] fix: handle type assertions safely Signed-off-by: gatici --- simue/handler.go | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/simue/handler.go b/simue/handler.go index d1de5c9..9f0512c 100644 --- a/simue/handler.go +++ b/simue/handler.go @@ -181,10 +181,20 @@ func HandleDeregAcceptEvent(ue *simuectx.SimUe, return nil } -func HandlePduSessEstRequestEvent(ue *simuectx.SimUe, - intfcMsg common.InterfaceMessage, -) (err error) { - msg := intfcMsg.(*common.UuMessage) +func HandlePduSessEstRequestEvent(ue *simuectx.SimUe, intfcMsg common.InterfaceMessage) (err error) { + // Safe type assertions + if intfcMsg == nil { + err := fmt.Errorf("HandlePduSessEstRequestEvent: intfcMsg is nil") + ue.Log.Errorln(err) + return err + } + + msg, ok := intfcMsg.(*common.UuMessage) + if !ok { + err := fmt.Errorf("HandlePduSessEstRequestEvent: expected *common.UuMessage, got %T", intfcMsg) + ue.Log.Errorln(err) + return err + } msg.Event = common.UL_INFO_TRANSFER_EVENT SendToGnbUe(ue, msg) return nil