From 893e3fae19f250ef092568f32031f2d08ee816e3 Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Mon, 7 Apr 2025 11:41:17 +0300 Subject: [PATCH] prevent panic when len(AlteredFields) == 0 --- engine/cdrs.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/engine/cdrs.go b/engine/cdrs.go index 8adc09270..f93bf9695 100644 --- a/engine/cdrs.go +++ b/engine/cdrs.go @@ -367,7 +367,7 @@ func (cdrS *CDRServer) chrgrSProcessEvent(cgrEv *utils.CGREvent) (cgrEvs []*util 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.CGREvent) (err error) { var rplyEv AttrSProcessEventReply if cgrEv.APIOpts == nil { @@ -380,14 +380,17 @@ func (cdrS *CDRServer) attrSProcessEvent(cgrEv *utils.CGREvent) (err error) { utils.MetaCDRs) if err = cdrS.connMgr.Call(context.TODO(), cdrS.cgrCfg.CdrsCfg().AttributeSConns, utils.AttributeSv1ProcessEvent, - cgrEv, &rplyEv); err == nil && len(rplyEv.AlteredFields) != 0 { + cgrEv, &rplyEv); err != nil { + if err.Error() == utils.ErrNotFound.Error() { + err = nil // ignore ErrNotFound + } + return + } + if len(rplyEv.AlteredFields) != 0 { *cgrEv = *rplyEv.CGREvent if !has && utils.IfaceAsString(cgrEv.APIOpts[utils.OptsContext]) == utils.MetaCDRs { delete(cgrEv.APIOpts, utils.OptsContext) } - } else if err != nil && - err.Error() == utils.ErrNotFound.Error() { - err = nil // cancel ErrNotFound } return }