]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Fix extra hits in PCRE mode for regular expressions
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 26 Oct 2017 16:26:03 +0000 (17:26 +0100)
committerAndrew Lewis <nerf@judo.za.org>
Wed, 24 Jan 2018 09:51:06 +0000 (11:51 +0200)
MFH: rspamd-1.6
Issue: #1880

src/libserver/re_cache.c

index c51caff8ff49ab1559d2bd6f834ca076440f3e4f..8f42ce319c0cdaa5d4584ba3e34d19dc0f157afb 100644 (file)
@@ -527,6 +527,7 @@ rspamd_re_cache_process_pcre (struct rspamd_re_runtime *rt,
                        }
                }
 
+               rt->results[id] += r;
                rt->stat.regexp_checked++;
                rt->stat.bytes_scanned_pcre += len;
                rt->stat.bytes_scanned += len;
@@ -593,13 +594,12 @@ rspamd_re_cache_hyperscan_cb (unsigned int id,
                        processed = 0;
 
                        for (i = 0; i < cbdata->count; i ++) {
-                               ret = rspamd_re_cache_process_pcre (rt,
+                               rspamd_re_cache_process_pcre (rt,
                                                pcre_elt->re,
                                                cbdata->task,
                                                cbdata->ins[i],
                                                cbdata->lens[i],
                                                FALSE);
-                               rt->results[id] = ret;
                                setbit (rt->checked, id);
 
                                processed += cbdata->lens[i];
@@ -665,7 +665,6 @@ rspamd_re_cache_process_regexp_data (struct rspamd_re_runtime *rt,
                                        in[i],
                                        lens[i],
                                        is_raw);
-                       rt->results[re_id] += ret;
                }
 
                setbit (rt->checked, re_id);