aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver/re_cache.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2020-11-17 11:20:58 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2020-11-17 11:20:58 +0000
commitc332ab330cea11ec81939ac9aee102de663fbad0 (patch)
treecebc0199e2472c406d46a39ab6f3545c278b5a0d /src/libserver/re_cache.c
parentbae168a884609d7b4dd964fab725416074d92836 (diff)
downloadrspamd-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.c7
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);