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

memory leak on proof justifications

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2023-01-09 17:22:21 -08:00
parent b700dbffce
commit d415f07386
3 changed files with 30 additions and 17 deletions

View file

@ -2286,8 +2286,11 @@ br_status bv_rewriter::mk_mul_hoist(unsigned num_args, expr * const * args, expr
unsigned sz = m_util.get_bv_size(z);
ptr_vector<expr> new_args(num_args, args);
rational p = rational(2).expt(sz) - 1;
new_args[i] = m_util.mk_bv_sub(mk_numeral(p, sz), z);
result = m_util.mk_bv_mul(num_args, new_args.data());
new_args[i] = mk_numeral(p, sz);
expr_ref a(m_util.mk_bv_mul(num_args, new_args.data()), m);
new_args[i] = z;
expr_ref b(m_util.mk_bv_mul(num_args, new_args.data()), m);
result = m_util.mk_bv_sub(a, b);
return BR_REWRITE3;
}
// shl(z, u) * x = shl(x * z, u)