aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/Core
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Core')
-rw-r--r--lib/Core/Memory.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/lib/Core/Memory.cpp b/lib/Core/Memory.cpp
index 47bc7576..12ca7104 100644
--- a/lib/Core/Memory.cpp
+++ b/lib/Core/Memory.cpp
@@ -529,10 +529,7 @@ void ObjectState::write(unsigned offset, ref<Expr> value) {
// Check for writes of constant values.
if (ConstantExpr *CE = dyn_cast<ConstantExpr>(value)) {
Expr::Width w = CE->getWidth();
- //assuming width can't be 0 so I can miss half of power of two check
- assert(w > 0);
- //also checks that w is a power of two
- if (w <= 64 && !(w & (w - 1))) {
+ if (w <= 64 && klee::bits64::isPowerOfTwo(w)) {
uint64_t val = CE->getZExtValue();
switch (w) {
default: assert(0 && "Invalid write size!");