mirror of
https://github.com/Z3Prover/z3
synced 2025-04-22 16:45:31 +00:00
fix use-after-free
This commit is contained in:
parent
d26eddf776
commit
7759d05efe
1 changed files with 14 additions and 2 deletions
|
@ -803,8 +803,20 @@ namespace smt {
|
|||
context & ctx = get_context();
|
||||
while (can_propagate()) {
|
||||
TRACE("str", tout << "propagating..." << std::endl;);
|
||||
for (auto const& el : m_basicstr_axiom_todo) {
|
||||
instantiate_basic_string_axioms(el);
|
||||
while(true) {
|
||||
// this can potentially recursively activate itself
|
||||
unsigned start_count = m_basicstr_axiom_todo.size();
|
||||
ptr_vector<enode> axioms_tmp(m_basicstr_axiom_todo);
|
||||
for (auto const& el : axioms_tmp) {
|
||||
instantiate_basic_string_axioms(el);
|
||||
}
|
||||
unsigned end_count = m_basicstr_axiom_todo.size();
|
||||
if (end_count > start_count) {
|
||||
TRACE("str", tout << "new basic string axiom terms added -- checking again" << std::endl;);
|
||||
continue;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
m_basicstr_axiom_todo.reset();
|
||||
TRACE("str", tout << "reset m_basicstr_axiom_todo" << std::endl;);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue