diff --git a/internal/smf/smf.go b/internal/smf/smf.go index c38801c..34d3eaa 100644 --- a/internal/smf/smf.go +++ b/internal/smf/smf.go @@ -347,7 +347,11 @@ func (smf *Smf) UpdateSessionDownlinkContext(ctx context.Context, ueCtrl jsonapi if err != nil { return err } - upf_ctrl := slice.(*Slice).Upfs[len(slice.(*Slice).Upfs)-1] + + if len(slice.(*Slice).Upfs) == 0 { + return ErrUpfNotFound + } + upf_ctrl := slice.(*Slice).Upfs[0] // upf-i upf_any, ok := smf.upfs.Load(upf_ctrl) if !ok { return ErrUpfNotFound