From 0db12b1390b1cc554b927230c76b05264c05b498 Mon Sep 17 00:00:00 2001 From: Luca Deri Date: Thu, 2 Nov 2023 20:46:14 +0100 Subject: [PATCH] In case a pattern is redefined (for instance with protos.txt), the custom definition overwrites the previous one (so far it was ignored) --- src/lib/third_party/src/ahocorasick.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/lib/third_party/src/ahocorasick.c b/src/lib/third_party/src/ahocorasick.c index 12bc422ac88..eb714694328 100644 --- a/src/lib/third_party/src/ahocorasick.c +++ b/src/lib/third_party/src/ahocorasick.c @@ -262,7 +262,18 @@ AC_ERROR_t ac_automata_add (AC_AUTOMATA_t * thiz, AC_PATTERN_t * patt) thiz->max_str_len = patt->length; if(n->final && n->matched_patterns) { + /* + In this case an existing pattern exists and thus we overwrite + the previous protocol value with this one + */ + +#if 1 + /* nDPI code */ + n->matched_patterns->patterns[0].rep.number = patt->rep.number; +#else + /* original code */ patt->rep.number = n->matched_patterns->patterns[0].rep.number; +#endif return ACERR_DUPLICATE_PATTERN; }