diff options
| author | liuwentan <[email protected]> | 2023-06-09 16:44:47 +0800 |
|---|---|---|
| committer | liuwentan <[email protected]> | 2023-06-09 16:44:47 +0800 |
| commit | 48397f754e2906110c9ddaa0e0c28e1b1948754a (patch) | |
| tree | fa66c135a5d4da90be58f55919ce46a29c4f7b17 /src/maat_expr.c | |
| parent | daf9e96e10185de937e579150c81f146fb87b3d3 (diff) | |
[OPTIMIZE]delete update_hit_groups to reduce cpu consumption & reduce maat_state memory usage
Diffstat (limited to 'src/maat_expr.c')
| -rw-r--r-- | src/maat_expr.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/maat_expr.c b/src/maat_expr.c index d405502..5cc557f 100644 --- a/src/maat_expr.c +++ b/src/maat_expr.c @@ -58,7 +58,6 @@ enum match_method { struct expr_item { long long item_id; long long group_id; - long long district_id; char keywords[MAX_KEYWORDS_STR]; enum expr_type expr_type; enum hs_match_mode match_mode; @@ -66,6 +65,7 @@ struct expr_item { int is_case_sensitive; void *user_data; void (*user_data_free)(void *data); + int district_id; }; struct expr_runtime { @@ -140,7 +140,7 @@ enum hs_match_mode int_to_match_mode(int match_method) return mode; } -long long expr_runtime_get_district_id(struct expr_runtime *expr_rt, const char *district) +int expr_runtime_get_district_id(struct expr_runtime *expr_rt, const char *district) { long long district_id = DISTRICT_ANY; @@ -158,7 +158,7 @@ long long expr_runtime_get_district_id(struct expr_runtime *expr_rt, const char } } - return district_id; + return (int)district_id; } int expr_runtime_set_scan_district(struct expr_runtime *expr_rt, const char *district, @@ -979,11 +979,11 @@ int expr_runtime_scan(struct expr_runtime *expr_rt, int thread_id, struct item_district *item_dist = NULL; struct expr_item *expr_item = NULL; size_t real_hit_item_cnt = 0; - long long district_id = state->district_id; + int district_id = state->district_id; for (size_t i = 0; i < n_hit_item; i++) { item_dist = (struct item_district *)(hit_results[i].user_tag); - long long tag_district_id = item_district_id(item_dist); + int tag_district_id = item_district_id(item_dist); if (tag_district_id == district_id || tag_district_id == DISTRICT_ANY) { long long item_id = hit_results[i].rule_id; expr_item = (struct expr_item *)rcu_hash_find(expr_rt->item_hash, |
