From 88052a38748188dfcf73b49f58ae969f13e34543 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Thu, 2 Aug 2018 12:47:43 -0700 Subject: [PATCH] bug fix --- src/csolver.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/csolver.cc b/src/csolver.cc index b42dbe0..58177a5 100644 --- a/src/csolver.cc +++ b/src/csolver.cc @@ -520,8 +520,14 @@ void CSolver::addConstraint(BooleanEdge constraint) { BooleanLogic *b = (BooleanLogic *) constraint.getBoolean(); if (!constraint.isNegated()) { if (b->op == SATC_AND) { - for (uint i = 0; i < b->inputs.getSize(); i++) { - addConstraint(b->inputs.get(i)); + uint size = b->inputs.getSize(); + //Handle potential concurrent modification + BooleanEdge array[size]; + for (uint i = 0; i < size; i++) { + array[i] = b->inputs.get(i); + } + for (uint i = 0; i < size; i++) { + addConstraint(array[i]); } return; } -- 2.34.1