diff --git a/src/entry/Maat_rule.cpp b/src/entry/Maat_rule.cpp index eb78d9d..dbd85f8 100644 --- a/src/entry/Maat_rule.cpp +++ b/src/entry/Maat_rule.cpp @@ -1128,7 +1128,7 @@ void destroy_compile_group_relation(struct Maat_compile_group_relation * p, stru assert(p_group==NULL); } HASH_delete_by_id(scanner->compile_hash, p->compile_id); - _destroy_compile_group_relation(p); + garbage_bagging(GARBAGE_COMPILE_GOURP_RELATION, p, scanner->tomb_ref); } scan_rule_t* create_rs_str_rule(unsigned int sub_type,enum MAAT_MATCH_METHOD match_method,int is_case_sensitive,const char* string,int len,int l_offset,int r_offset) { @@ -3469,6 +3469,9 @@ void garbage_bury(MESA_lqueue_head garbage_q,int timeout,void *logger) case GARBAGE_COMPILE_RULE: destroy_compile_rule(bag->compile_rule); break; + case GARBAGE_COMPILE_GOURP_RELATION: + _destroy_compile_group_relation(bag->compile_group_relation); + break; case GARBAGE_GROUP_RULE: _destroy_group_rule(bag->group_rule); break; diff --git a/src/inc_internal/Maat_rule_internal.h b/src/inc_internal/Maat_rule_internal.h index 8013754..6c315f8 100644 --- a/src/inc_internal/Maat_rule_internal.h +++ b/src/inc_internal/Maat_rule_internal.h @@ -192,6 +192,7 @@ enum maat_garbage_type GARBAGE_SCANNER=0, GARBAGE_GROUP_RULE, GARBAGE_COMPILE_RULE, + GARBAGE_COMPILE_GOURP_RELATION, GARBAGE_BOOL_MATCHER, GARBAGE_MAP_STR2INT, GARBAGE_FOREIGN_FILE @@ -432,6 +433,7 @@ struct _maat_garbage_t struct Maat_scanner_t* scanner; struct Maat_group_inner* group_rule; struct Maat_compile_rule* compile_rule; + struct Maat_compile_group_relation * compile_group_relation; struct bool_matcher* bool_matcher; void * raw; MESA_htable_handle str2int_map;