Merge branch 'develop' into fix/memory

pull/1133/head
Bernhard Mueller 5 years ago committed by GitHub
commit 60ee9f3c97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      .circleci/config.yml
  2. 6
      mythril/laser/smt/bitvec.py
  3. 2
      mythril/mythril/mythril_config.py
  4. 2
      tests/mythril/mythril_config_test.py

@ -110,6 +110,7 @@ jobs:
--timeout 60 \ --timeout 60 \
--output-dir /opt/edelweiss \ --output-dir /opt/edelweiss \
--s3 \ --s3 \
--dynamodb \
--circle-ci CircleCI/mythril.csv \ --circle-ci CircleCI/mythril.csv \
--ignore-false-positives $IGNORE_FALSE_POSITIVES \ --ignore-false-positives $IGNORE_FALSE_POSITIVES \
--ignore-regressions $IGNORE_REGRESSIONS --ignore-regressions $IGNORE_REGRESSIONS

@ -202,6 +202,9 @@ class BitVec(Expression[z3.BitVecRef]):
) )
union = self.annotations.union(other.annotations) union = self.annotations.union(other.annotations)
# Some of the BitVecs can be 512 bit due to sha3()
if self.raw.size() != other.raw.size():
return Bool(z3.BoolVal(False), annotations=union)
# MYPY: fix complaints due to z3 overriding __eq__ # MYPY: fix complaints due to z3 overriding __eq__
return Bool(cast(z3.BoolRef, self.raw == other.raw), annotations=union) return Bool(cast(z3.BoolRef, self.raw == other.raw), annotations=union)
@ -220,6 +223,9 @@ class BitVec(Expression[z3.BitVecRef]):
) )
union = self.annotations.union(other.annotations) union = self.annotations.union(other.annotations)
# Some of the BitVecs can be 512 bit due to sha3()
if self.raw.size() != other.raw.size():
return Bool(z3.BoolVal(True), annotations=union)
# MYPY: fix complaints due to z3 overriding __eq__ # MYPY: fix complaints due to z3 overriding __eq__
return Bool(cast(z3.BoolRef, self.raw != other.raw), annotations=union) return Bool(cast(z3.BoolRef, self.raw != other.raw), annotations=union)

@ -175,7 +175,7 @@ class MythrilConfig:
:param rpc: either of the strings - ganache, infura-mainnet, infura-rinkeby, infura-kovan, infura-ropsten :param rpc: either of the strings - ganache, infura-mainnet, infura-rinkeby, infura-kovan, infura-ropsten
""" """
if rpc == "ganache": if rpc == "ganache":
rpcconfig = ("localhost", 8545, False) rpcconfig = ("localhost", 7545, False)
else: else:
m = re.match(r"infura-(.*)", rpc) m = re.match(r"infura-(.*)", rpc)
if m and m.group(1) in ["mainnet", "rinkeby", "kovan", "ropsten"]: if m and m.group(1) in ["mainnet", "rinkeby", "kovan", "ropsten"]:

@ -19,7 +19,7 @@ def test_config_path_dynloading():
rpc_types_tests = [ rpc_types_tests = [
("infura", "mainnet.infura.io", 443, True), ("infura", "mainnet.infura.io", 443, True),
("ganache", "localhost", 8545, True), ("ganache", "localhost", 7545, True),
("infura-rinkeby", "rinkeby.infura.io", 443, True), ("infura-rinkeby", "rinkeby.infura.io", 443, True),
("infura-ropsten", "ropsten.infura.io", 443, True), ("infura-ropsten", "ropsten.infura.io", 443, True),
("infura-kovan", "kovan.infura.io", 443, True), ("infura-kovan", "kovan.infura.io", 443, True),

Loading…
Cancel
Save