From eca6639a82a06e29f0aec47d98a3aa4153c32cac Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Wed, 20 Dec 2023 09:42:53 +0100 Subject: [PATCH] detect/pcre: localize match limit option parsing No need to put it into a per ctx flag. --- src/detect-pcre.c | 6 ++++-- src/detect-pcre.h | 1 - 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/detect-pcre.c b/src/detect-pcre.c index 848f6b9680..0c22e8d8ea 100644 --- a/src/detect-pcre.c +++ b/src/detect-pcre.c @@ -360,6 +360,8 @@ static DetectPcreData *DetectPcreParse (DetectEngineCtx *de_ctx, int check_host_header = 0; char op_str[64] = ""; + bool apply_match_limit = false; + int cut_capture = 0; char *fcap = strstr(regexstr, "flow:"); char *pcap = strstr(regexstr, "pkt:"); @@ -472,7 +474,7 @@ static DetectPcreData *DetectPcreParse (DetectEngineCtx *de_ctx, break; case 'O': - pd->flags |= DETECT_PCRE_MATCH_LIMIT; + apply_match_limit = true; break; case 'B': /* snort's option */ @@ -678,7 +680,7 @@ static DetectPcreData *DetectPcreParse (DetectEngineCtx *de_ctx, } pd->parse_regex.match = pcre2_match_data_create_from_pattern(pd->parse_regex.regex, NULL); - if (pd->flags & DETECT_PCRE_MATCH_LIMIT) { + if (apply_match_limit) { if (pcre_match_limit >= -1) { pcre2_set_match_limit(pd->parse_regex.context, pcre_match_limit); } diff --git a/src/detect-pcre.h b/src/detect-pcre.h index 2d78dd0047..9ac14ab90a 100644 --- a/src/detect-pcre.h +++ b/src/detect-pcre.h @@ -31,7 +31,6 @@ #define DETECT_PCRE_RAWBYTES 0x00002 #define DETECT_PCRE_CASELESS 0x00004 -#define DETECT_PCRE_MATCH_LIMIT 0x00020 #define DETECT_PCRE_RELATIVE_NEXT 0x00040 #define DETECT_PCRE_NEGATE 0x00080 -- 2.47.2