about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-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!");