mirror of
https://github.com/Z3Prover/z3
synced 2025-08-26 13:06:05 +00:00
ensure memory safety
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
1397dd12ff
commit
df3d10a16f
1 changed files with 3 additions and 1 deletions
|
@ -364,7 +364,9 @@ namespace smt {
|
||||||
auto add_split_atom = [&](expr* atom, unsigned start) {
|
auto add_split_atom = [&](expr* atom, unsigned start) {
|
||||||
unsigned stop = m_cubes.size();
|
unsigned stop = m_cubes.size();
|
||||||
for (unsigned i = start; i < stop; ++i) {
|
for (unsigned i = start; i < stop; ++i) {
|
||||||
m_cubes.push_back(m_cubes[i]);
|
// copy the last cube so that expanding m_cubes doesn't invalidate reference.
|
||||||
|
auto cube = m_cubes[i];
|
||||||
|
m_cubes.push_back(cube);
|
||||||
m_cubes.back().push_back(m.mk_not(atom));
|
m_cubes.back().push_back(m.mk_not(atom));
|
||||||
m_cubes[i].push_back(atom);
|
m_cubes[i].push_back(atom);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue