From 54b77a88b7eb891d1b3b657b52ed8cd3f489d0d2 Mon Sep 17 00:00:00 2001 From: bjjwwang Date: Mon, 1 Jul 2024 16:33:14 +1000 Subject: [PATCH] fix ass2 --- Assignment-2/Assignment-2.cpp | 10 +++++----- Assignment-2/Assignment-2.h | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Assignment-2/Assignment-2.cpp b/Assignment-2/Assignment-2.cpp index 9f08804..573bb71 100644 --- a/Assignment-2/Assignment-2.cpp +++ b/Assignment-2/Assignment-2.cpp @@ -141,19 +141,19 @@ bool SSE::handleNonBranch(const IntraCFGEdge* edge) { addToSolver(res == op0 % op1); break; case BinaryOperator::Xor: - addToSolver(int2bv(32, res) == (int2bv(32, op0) ^ int2bv(32, op1))); + addToSolver(res == bv2int(int2bv(32, op0) ^ int2bv(32, op1), 1)); break; case BinaryOperator::And: - addToSolver(int2bv(32, res) == (int2bv(32, op0) & int2bv(32, op1))); + addToSolver(res == bv2int(int2bv(32, op0) & int2bv(32, op1), 1)); break; case BinaryOperator::Or: - addToSolver(int2bv(32, res) == (int2bv(32, op0) | int2bv(32, op1))); + addToSolver(res == bv2int(int2bv(32, op0) | int2bv(32, op1), 1)); break; case BinaryOperator::AShr: - addToSolver(int2bv(32, res) == ashr(int2bv(32, op0), int2bv(32, op1))); + addToSolver(res == bv2int(ashr(int2bv(32, op0), int2bv(32, op1)), 1)); break; case BinaryOperator::Shl: - addToSolver(int2bv(32, res) == shl(int2bv(32, op0), int2bv(32, op1))); + addToSolver(res == bv2int(shl(int2bv(32, op0), int2bv(32, op1)), 1)); break; default: assert(false && "implement this part"); diff --git a/Assignment-2/Assignment-2.h b/Assignment-2/Assignment-2.h index bec5321..5724d2b 100644 --- a/Assignment-2/Assignment-2.h +++ b/Assignment-2/Assignment-2.h @@ -75,6 +75,7 @@ namespace SVF { /// reset z3 solver virtual void resetSolver() { getSolver().reset(); + callingCtx.clear(); } /// TODO: Implementing the collection the ICFG paths