summaryrefslogtreecommitdiff
path: root/src/analysis/scan/rule.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2023-11-28 08:33:08 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2023-11-28 08:33:08 (GMT)
commit0d5c48ea75a88ae03a7ee8b11c7cf29cb6c46c1b (patch)
tree255f8e88999fedfd1f4a341df89e9b8427a59230 /src/analysis/scan/rule.c
parent4d771e533a6bbcda07190d24ed5d15458acb68e0 (diff)
Optimize the registration of full matches.
Diffstat (limited to 'src/analysis/scan/rule.c')
-rw-r--r--src/analysis/scan/rule.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/analysis/scan/rule.c b/src/analysis/scan/rule.c
index e3f84d4..638dae5 100644
--- a/src/analysis/scan/rule.c
+++ b/src/analysis/scan/rule.c
@@ -619,12 +619,13 @@ void g_scan_rule_check(GScanRule *rule, GEngineBackend *backend, GScanContext *c
g_bytes_token_check(G_BYTES_TOKEN(pattern), context, content, &matches);
+ g_scan_context_prepare_full_match_registration(context, pattern, matches.used);
+
for (k = 0; k < matches.used; k++)
{
area = &matches.areas[k];
- match = g_scan_bytes_match_new(G_SEARCH_PATTERN(pattern), content,
- area->start, area->end - area->start);
+ match = g_scan_bytes_match_new(pattern, content, area->start, area->end - area->start);
if (area->has_mod_path)
g_scan_bytes_match_remember_modifier_path(G_SCAN_BYTES_MATCH(match), area->mod_path_index);