aboutsummaryrefslogtreecommitdiff
path: root/gcc/analyzer/engine.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/analyzer/engine.cc')
-rw-r--r--gcc/analyzer/engine.cc15
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)