diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2020-11-17 11:20:58 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2020-11-17 11:20:58 +0000 |
commit | c332ab330cea11ec81939ac9aee102de663fbad0 (patch) | |
tree | cebc0199e2472c406d46a39ab6f3545c278b5a0d /src/libserver/re_cache.c | |
parent | bae168a884609d7b4dd964fab725416074d92836 (diff) | |
download | rspamd-c332ab330cea11ec81939ac9aee102de663fbad0.tar.gz rspamd-c332ab330cea11ec81939ac9aee102de663fbad0.zip |
[Minor] Do not mix HS_FLAG_SINGLEMATCH and HS_FLAG_SOM_LEFTMOST
Diffstat (limited to 'src/libserver/re_cache.c')
-rw-r--r-- | src/libserver/re_cache.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libserver/re_cache.c b/src/libserver/re_cache.c index c35da879d..e4b00e541 100644 --- a/src/libserver/re_cache.c +++ b/src/libserver/re_cache.c @@ -1977,13 +1977,14 @@ rspamd_re_cache_compile_timer_cb (EV_P_ ev_timer *w, int revents ) if (pcre_flags & PCRE_FLAG(DOTALL)) { hs_flags[i] |= HS_FLAG_DOTALL; } - if (rspamd_regexp_get_maxhits (re) == 1) { - hs_flags[i] |= HS_FLAG_SINGLEMATCH; - } + if (re_flags & RSPAMD_REGEXP_FLAG_LEFTMOST) { hs_flags[i] |= HS_FLAG_SOM_LEFTMOST; } + else if (rspamd_regexp_get_maxhits (re) == 1) { + hs_flags[i] |= HS_FLAG_SINGLEMATCH; + } gchar *pat = rspamd_re_cache_hs_pattern_from_pcre (re); |