diff options
| author | liuwentan <[email protected]> | 2023-06-27 14:25:05 +0800 |
|---|---|---|
| committer | liuwentan <[email protected]> | 2023-06-27 14:25:05 +0800 |
| commit | d7c083ae734f266f067678fb188a31b744cf562d (patch) | |
| tree | f8b87a981543afaa521ee7dd1068464d05134b99 | |
| parent | 6046062032d45c16810d14af817271d4751338a8 (diff) | |
[PATCH]fix get_hit_path coredump when half_hit or hit don't happen
| -rw-r--r-- | src/maat_api.c | 8 | ||||
| -rw-r--r-- | src/maat_table.c | 16 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/maat_api.c b/src/maat_api.c index c0304bc..748b8fc 100644 --- a/src/maat_api.c +++ b/src/maat_api.c @@ -1900,6 +1900,10 @@ int maat_state_get_hit_paths(struct maat_state *state, struct maat_hit_path *pat return -1; } + if (NULL == state->compile_state) { + return 0; + } + int compile_table_id = table_manager_get_default_compile_table_id(maat_inst->tbl_mgr); if (state->compile_table_id > 0) { compile_table_id = state->compile_table_id; @@ -1929,6 +1933,10 @@ int maat_state_get_hit_groups(struct maat_state *state, struct maat_hit_group *g return -1; } + if (NULL == state->compile_state) { + return 0; + } + int g2g_table_id = table_manager_get_group2group_table_id(state->maat_inst->tbl_mgr); void *g2g_runtime = table_manager_get_runtime(state->maat_inst->tbl_mgr, g2g_table_id); diff --git a/src/maat_table.c b/src/maat_table.c index 421eb11..cbcff85 100644 --- a/src/maat_table.c +++ b/src/maat_table.c @@ -982,11 +982,19 @@ enum table_type table_manager_get_table_type(struct table_manager *tbl_mgr, int int table_manager_get_default_compile_table_id(struct table_manager *tbl_mgr) { + if (NULL == tbl_mgr) { + return -1; + } + return tbl_mgr->default_compile_table_id; } int table_manager_get_group2group_table_id(struct table_manager *tbl_mgr) { + if (NULL == tbl_mgr) { + return -1; + } + return tbl_mgr->g2g_table_id; } @@ -1018,11 +1026,19 @@ int table_manager_get_valid_column(struct table_manager *tbl_mgr, int table_id) size_t table_manager_accept_tags_count(struct table_manager *tbl_mgr) { + if (NULL == tbl_mgr) { + return -1; + } + return tbl_mgr->n_accept_tag; } int table_manager_accept_tags_match(struct table_manager *tbl_mgr, const char *tags) { + if (NULL == tbl_mgr) { + return -1; + } + return compare_accept_tag(tags, tbl_mgr->accept_tags, tbl_mgr->n_accept_tag); } |
