diff options
author | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2023-04-11 19:24:59 +0900 |
---|---|---|
committer | Nguyễn Gia Phong <cnx@loang.net> | 2024-03-05 17:23:54 +0900 |
commit | a646a9820dff69d8a3c33050ce5f56b50821bb52 (patch) | |
tree | e71ccf5e9d1bf104900d979eccf4e0ac0a3d9bca | |
parent | cae01bffb4c60e586ad54e4d056dfc5a193faa9e (diff) | |
download | klee-a646a9820dff69d8a3c33050ce5f56b50821bb52.tar.gz |
Clone state more completely
-rw-r--r-- | lib/Core/ExecutionState.cpp | 2 | ||||
-rw-r--r-- | lib/Core/Executor.cpp | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/Core/ExecutionState.cpp b/lib/Core/ExecutionState.cpp index b4af092a..2a754acd 100644 --- a/lib/Core/ExecutionState.cpp +++ b/lib/Core/ExecutionState.cpp @@ -109,6 +109,8 @@ ExecutionState::ExecutionState(const ExecutionState& state): cexPreferences(state.cexPreferences), arrayNames(state.arrayNames), openMergeStack(state.openMergeStack), + patchNo(state.patchNo), + formula(state.formula), steppedInstructions(state.steppedInstructions), instsSinceCovNew(state.instsSinceCovNew), unwindingInformation(state.unwindingInformation diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp index b335e566..cfbe7357 100644 --- a/lib/Core/Executor.cpp +++ b/lib/Core/Executor.cpp @@ -3893,7 +3893,8 @@ void Executor::terminateStateOnExit(ExecutionState &state) { interpreterHandler->incPathsCompleted(); getConstraintLog(state, state.formula, Interpreter::SMTLIB2); - searchDifferentiators(&state); + if (state.patchNo) + searchDifferentiators(&state); exitStates.insert(&state); terminateState(state, StateTerminationType::Exit); } @@ -4703,7 +4704,7 @@ void Executor::executeMakeSymbolic(ExecutionState &state, assert(std::atoi(name.c_str() + 3) == this->symArgs.size()); this->symArgs.push_back(mo->size - 1); // string's null termination } else if (isSymOut(uniqueName)) { - assert(this->symOuts.find(uniqueName) == this->symOuts.end()); + // assert(this->symOuts.find(uniqueName) == this->symOuts.end()); this->symOuts[uniqueName] = mo->size; } |