3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 01:25:31 +00:00

scoping th solver to avoid memory leak during cancellation exposed by #3431

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-03-22 14:14:45 -07:00
parent d1f6470805
commit 70a1786061
5 changed files with 10 additions and 6 deletions

View file

@ -1824,6 +1824,7 @@ ast * ast_manager::register_node_core(ast * n) {
}
n->m_id = is_decl(n) ? m_decl_id_gen.mk() : m_expr_id_gen.mk();
TRACE("ast", tout << "Object " << n->m_id << " was created.\n";);
TRACE("mk_var_bug", tout << "mk_ast: " << n->m_id << "\n";);
// increment reference counters

View file

@ -275,7 +275,7 @@ void rewriter_tpl<Config>::process_app(app * t, frame & fr) {
unsigned new_num_args = result_stack().size() - fr.m_spos;
expr * const * new_args = result_stack().c_ptr() + fr.m_spos;
app * new_t;
app_ref new_t(m());
if (ProofGen) {
elim_reflex_prs(fr.m_spos);
unsigned num_prs = result_pr_stack().size() - fr.m_spos;