3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 17:15:31 +00:00

pass algebraic manager to arith-plugin mk-numeral because rational check may overwrite the argument using the current manager deals with crash as part of #4532

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-07-26 17:52:28 -07:00
parent ac39ddb43f
commit c7704ef9af
11 changed files with 43 additions and 45 deletions

View file

@ -449,7 +449,7 @@ namespace algebraic_numbers {
}
void copy_poly(algebraic_cell * c, unsigned sz, mpz const * p) {
SASSERT(c->m_p == 0);
SASSERT(c->m_p == nullptr);
SASSERT(c->m_p_sz == 0);
c->m_p_sz = sz;
c->m_p = static_cast<mpz*>(m_allocator.allocate(sizeof(mpz)*sz));
@ -476,7 +476,7 @@ namespace algebraic_numbers {
target->m_sign_lower = source->m_sign_lower;
target->m_not_rational = source->m_not_rational;
target->m_i = source->m_i;
SASSERT(acell_inv(*source));
//SASSERT(acell_inv(*source)); source could be owned by a different manager
SASSERT(acell_inv(*target));
}