summaryrefslogtreecommitdiff
path: root/src/entry/Maat_api.cpp
diff options
context:
space:
mode:
authorzhengchao <[email protected]>2020-07-06 16:46:41 +0800
committerzhengchao <[email protected]>2020-07-06 16:46:41 +0800
commit41b3628b53becbeef60a8fca0794c8ec1dd46e2f (patch)
tree4c451b9be1dd7614a9c9d30450a0962f7baab805 /src/entry/Maat_api.cpp
parent639feb17b0c4d80c77c902478652195951ca68a3 (diff)
region_rule_inner中增加magic_num,以诊断region配置删除时可能发生的野指针访问;同时hierarchy增加对region_id查找的判空,以避免在一个region扫描命中后,hierarchy中该region又被删除,产生的空指针访问。
Diffstat (limited to 'src/entry/Maat_api.cpp')
-rw-r--r--src/entry/Maat_api.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/entry/Maat_api.cpp b/src/entry/Maat_api.cpp
index 2ae109d..fdff783 100644
--- a/src/entry/Maat_api.cpp
+++ b/src/entry/Maat_api.cpp
@@ -235,6 +235,7 @@ int region_compile(_Maat_feather_t*feather, struct Maat_hierarchy_compile_mid* c
for(i=0; (size_t)i<region_hit_num;i++)
{
region=*(struct Maat_region_inner**)((char*)region_hit+region_type_size*i+user_data_offset);
+ assert(region->magic_num==REGION_RULE_MAGIC);
if(region_hit_wraper->virtual_table_ids)
{
virtual_table_id=region_hit_wraper->virtual_table_ids[i];