diff options
Diffstat (limited to 'gcc/analyzer/engine.cc')
-rw-r--r-- | gcc/analyzer/engine.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/analyzer/engine.cc b/gcc/analyzer/engine.cc index 46bcaed..a664a99 100644 --- a/gcc/analyzer/engine.cc +++ b/gcc/analyzer/engine.cc @@ -229,6 +229,21 @@ impl_region_model_context::get_malloc_map (sm_state_map **out_smap, } bool +impl_region_model_context::get_fd_map (sm_state_map **out_smap, + const state_machine **out_sm, + unsigned *out_sm_idx) +{ + unsigned fd_sm_idx; + if (!m_ext_state.get_sm_idx_by_name ("file-descriptor", &fd_sm_idx)) + return false; + + *out_smap = m_new_state->m_checker_states[fd_sm_idx]; + *out_sm = &m_ext_state.get_sm (fd_sm_idx); + *out_sm_idx = fd_sm_idx; + return true; +} + +bool impl_region_model_context::get_taint_map (sm_state_map **out_smap, const state_machine **out_sm, unsigned *out_sm_idx) |