修复由于笔误将Maat_hierarchy_clause_fetch中的局部变量的定义为静态变量的错误。 多个maat实例同时重建布尔表达式运算器时,该错误会导致线程不安全访问静态变量,但不应导致 TSG-9741 。

This commit is contained in:
zhengchao
2022-04-23 18:17:28 +08:00
parent a4fcb73f8a
commit 742512e10f
2 changed files with 4 additions and 4 deletions

View File

@@ -238,9 +238,9 @@ static inline int compare_region_id(const void* a, const void* b)
return ret;
}
static struct Maat_hierarchy_clause* Maat_hierarchy_clause_fetch(struct Maat_hierarchy* hier, struct Maat_hierarchy_literal_id* literal_ids, size_t n_literal_id)
static const struct Maat_hierarchy_clause* Maat_hierarchy_clause_fetch(struct Maat_hierarchy* hier, struct Maat_hierarchy_literal_id* literal_ids, size_t n_literal_id)
{
static struct Maat_hierarchy_clause* clause=NULL;
struct Maat_hierarchy_clause* clause=NULL;
HASH_FIND(hh, hier->hash_dedup_clause_by_literals, literal_ids,
n_literal_id*sizeof(struct Maat_hierarchy_literal_id), clause);
@@ -927,7 +927,7 @@ static struct bool_matcher* Maat_hierarchy_build_bool_matcher(struct Maat_hierar
struct Maat_hierarchy_compile* compile=NULL, *tmp_compile=NULL;
struct Maat_hierarchy_clause_state* clause_state=NULL;
struct Maat_hierarchy_clause* clause=NULL;
const struct Maat_hierarchy_clause* clause=NULL;
size_t i=0, j=0;
int has_clause_num=0;
compile_num=HASH_COUNT(hier->hash_compile_by_id);

View File

@@ -57,7 +57,7 @@ extern "C"
}
#endif
int MAAT_FRAME_VERSION_3_6_3_20220304=1;
int MAAT_FRAME_VERSION_3_6_4_20220423=1;
int is_valid_table_name(const char* str)
{