Skip to content

Commit 2bf6a35

Browse files
authored
Handle edge case when parsing (#1826)
* Change configuration * Downgrade solcx * Handle edge case when parsing
1 parent 460e9da commit 2bf6a35

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

mythril/ethereum/util.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ def parse_pragma(solidity_code):
156156
max_version = Optional(inequality + version)
157157
pragma = Word("pragma") + Word("solidity") + min_version + Optional(max_version)
158158
result = pragma.parseString(solidity_code)
159-
min_inequality = result[2] if result[2] in [">", "<", ">=", "<="] else ""
159+
min_inequality = result[2] if result[2] in [">", "<", ">=", "<=", "="] else ""
160160
min_carrot = result[2] if result[2] == "^" else ""
161161
min_version = result[3] if min_carrot != "" or min_inequality != "" else result[2]
162162
return {

tests/util_tests.py

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
test_data = (
77
("pragma solidity 0.5.0\n", ["0.5.0"]),
8+
("pragma solidity =0.5.0\n", ["0.5.0"]),
89
("pragma solidity ^0.4.26\n", ["0.4.26"]),
910
("pragma solidity ^0.6.3;\n", [f"0.6.{x}" for x in range(3, 13)]),
1011
("pragma solidity ^0.6.3 ;\n", [f"0.6.{x}" for x in range(3, 13)]),

0 commit comments

Comments
 (0)