diff --git a/src/entry/Maat_hierarchy.cpp b/src/entry/Maat_hierarchy.cpp index 7e629e6..7cb33cc 100644 --- a/src/entry/Maat_hierarchy.cpp +++ b/src/entry/Maat_hierarchy.cpp @@ -1119,11 +1119,14 @@ void Maat_hierarchy_compile_mid_udpate(struct Maat_hierarchy_compile_mid* mid, i } else { - if(utarray_len(mid->_all_hit_clause_array)_all_hit_clause_array, &clause_id); - utarray_sort(mid->_all_hit_clause_array, compare_clause_id); + if(utarray_len(mid->_all_hit_clause_array)> MAX_GROUP_CACHE) + { + pthread_rwlock_unlock(&hier->rwlock); + return; } + utarray_push_back(mid->_all_hit_clause_array, &clause_id); + utarray_sort(mid->_all_hit_clause_array, compare_clause_id); + } } }