From a3f7f966d0f950b2345fd22e7fa8088be40e8d60 Mon Sep 17 00:00:00 2001 From: alteredCoder Date: Fri, 29 Sep 2023 15:55:07 +0200 Subject: [PATCH] fix --- pkg/alertcontext/alertcontext.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/alertcontext/alertcontext.go b/pkg/alertcontext/alertcontext.go index cb84a0bba..60916271f 100644 --- a/pkg/alertcontext/alertcontext.go +++ b/pkg/alertcontext/alertcontext.go @@ -70,17 +70,21 @@ func NewAlertContext(contextToSend []csconfig.ContextToSend, valueLength int) er alertContext.ContextToSend[key] = make([]string, 0) } - alertContext.ContextToSendCompiled[key] = make([]*vm.Program, 0) + if _, ok := alertContext.ContextToSendCompiled[key]; !ok { + alertContext.ContextToSendCompiled[key] = make([]*vm.Program, 0) + } + for _, value := range values { valueCompiled, err := expr.Compile(value, exprhelpers.GetExprOptions(map[string]interface{}{"evt": &types.Event{}})...) if err != nil { return fmt.Errorf("compilation of '%s' context value failed: %v", value, err) } - alertContext.ContextToSendCompiled[key] = append(alertContext.ContextToSendCompiled[key], valueCompiled) if slices.Contains(alertContext.ContextToSend[key], value) { log.Debugf("value '%s' from '%s' already in context", value, ctx.SourceFile) continue } + + alertContext.ContextToSendCompiled[key] = append(alertContext.ContextToSendCompiled[key], valueCompiled) alertContext.ContextToSend[key] = append(alertContext.ContextToSend[key], value) } }