summaryrefslogtreecommitdiff
path: root/src/analysis/scan/patterns/backends/acism.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/scan/patterns/backends/acism.c')
-rw-r--r--src/analysis/scan/patterns/backends/acism.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/analysis/scan/patterns/backends/acism.c b/src/analysis/scan/patterns/backends/acism.c
index 3f742fd..5037405 100644
--- a/src/analysis/scan/patterns/backends/acism.c
+++ b/src/analysis/scan/patterns/backends/acism.c
@@ -1326,7 +1326,6 @@ static void g_acism_backend_run_scan(const GAcismBackend *backend, GScanContext
phys_t dlen; /* Quantité de données */
vmpa2t pos; /* Point de départ ciblé */
const bin_t *data; /* Données à analyser */
- GUMemSlice **matches; /* Zones d'enregistrements */
#ifdef __USE_BYTE_FREQ
acism_code_t codes_for_bytes[256]; /* Copie des codes d'accès */
#endif
@@ -1350,8 +1349,6 @@ static void g_acism_backend_run_scan(const GAcismBackend *backend, GScanContext
g_binary_content_compute_start_pos(content, &pos);
data = g_binary_content_get_raw_access(content, &pos, dlen);
- matches = g_scan_context_get_match_storages(context, (size_t []){ 0 });
-
/* Suivi via l'arborescence aplatie */
#ifdef __USE_BYTE_FREQ
@@ -1401,14 +1398,16 @@ static void g_acism_backend_run_scan(const GAcismBackend *backend, GScanContext
k = coverages[next * 2 + SOURCE_COVERAGE_START];
if (next_state.single_source)
- g_umem_slice_put_uint64(matches[k], i - next_state.atom_size);
+ g_scan_context_store_atom_match_end(context, k, i);
+ //g_umem_slice_put_uint64(matches[0/*k*/], i - next_state.atom_size);
else
{
final_k = coverages[next * 2 + SOURCE_COVERAGE_END];
for (; k < final_k; k++)
- g_umem_slice_put_uint64(matches[k], i - next_state.atom_size);
+ g_scan_context_store_atom_match_end(context, k, i);
+ //g_umem_slice_put_uint64(matches[0/*k*/], i - next_state.atom_size);
}
@@ -1429,14 +1428,16 @@ static void g_acism_backend_run_scan(const GAcismBackend *backend, GScanContext
k = coverages[test_state.index * 2 + SOURCE_COVERAGE_START];
if (sub_state.single_source)
- g_umem_slice_put_uint64(matches[k], i - sub_state.atom_size);
+ g_scan_context_store_atom_match_end(context, k, i);
+ //g_umem_slice_put_uint64(matches[0/*k*/], i - sub_state.atom_size);
else
{
final_k = coverages[test_state.index * 2 + SOURCE_COVERAGE_END];
for (; k < final_k; k++)
- g_umem_slice_put_uint64(matches[k], i - sub_state.atom_size);
+ g_scan_context_store_atom_match_end(context, k, i);
+ //g_umem_slice_put_uint64(matches[0/*k*/], i - sub_state.atom_size);
}