From ea77f357f23149772d3c3f5b706480fb304b08de Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Mon, 7 Apr 2025 09:13:26 +0300 Subject: [PATCH] prevent panic when len(AlteredFields) == 0 --- engine/cdrs.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/engine/cdrs.go b/engine/cdrs.go index 4017335f1..bb7c2e229 100644 --- a/engine/cdrs.go +++ b/engine/cdrs.go @@ -329,7 +329,7 @@ func (cdrS *CDRServer) chrgrSProcessEvent(cgrEv *utils.CGREventWithArgDispatcher return } -// attrSProcessEvent will send the event to StatS if the connection is configured +// attrSProcessEvent will send the event to AttributeS if the connection is configured. func (cdrS *CDRServer) attrSProcessEvent(cgrEv *utils.CGREventWithArgDispatcher) (err error) { var rplyEv AttrSProcessEventReply attrArgs := &AttrArgsProcessEvent{ @@ -342,10 +342,14 @@ func (cdrS *CDRServer) attrSProcessEvent(cgrEv *utils.CGREventWithArgDispatcher) } if err = cdrS.connMgr.Call(cdrS.cgrCfg.CdrsCfg().AttributeSConns, nil, utils.AttributeSv1ProcessEvent, - attrArgs, &rplyEv); err == nil && len(rplyEv.AlteredFields) != 0 { + attrArgs, &rplyEv); err != nil { + if err.Error() == utils.ErrNotFound.Error() { + err = nil // ignore ErrNotFound + } + return + } + if len(rplyEv.AlteredFields) != 0 { cgrEv.CGREvent = rplyEv.CGREvent - } else if err.Error() == utils.ErrNotFound.Error() { - err = nil // cancel ErrNotFound } return }