detect/pcre: localize match limit option parsing

No need to put it into a per ctx flag.
pull/10134/head
Victor Julien 2 years ago committed by Victor Julien
parent 18dfa69364
commit eca6639a82

@ -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);
}

@ -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

Loading…
Cancel
Save