diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2018-02-28 17:44:48 +0800 |
---|---|---|
committer | Alex Beregszaszi <alex@rtfs.hu> | 2018-02-28 17:44:48 +0800 |
commit | 7897301b7179603a1bc74d7be9eff6ccc67398db (patch) | |
tree | 7b36d115f9482963d04b44c35899b128dc1d1921 /test | |
parent | 83fec0232d38eb6214eb41104b6cd51b6f21f282 (diff) | |
download | dexon-solidity-7897301b7179603a1bc74d7be9eff6ccc67398db.tar.gz dexon-solidity-7897301b7179603a1bc74d7be9eff6ccc67398db.tar.zst dexon-solidity-7897301b7179603a1bc74d7be9eff6ccc67398db.zip |
Properly validate invalid hex characters in JSONIO libraries
Diffstat (limited to 'test')
-rw-r--r-- | test/libsolidity/StandardCompiler.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/libsolidity/StandardCompiler.cpp b/test/libsolidity/StandardCompiler.cpp index c4caf203..0bb94172 100644 --- a/test/libsolidity/StandardCompiler.cpp +++ b/test/libsolidity/StandardCompiler.cpp @@ -610,6 +610,29 @@ BOOST_AUTO_TEST_CASE(libraries_invalid_entry) BOOST_CHECK(containsError(result, "JSONError", "library entry is not a JSON object.")); } +BOOST_AUTO_TEST_CASE(libraries_invalid_hex) +{ + char const* input = R"( + { + "language": "Solidity", + "settings": { + "libraries": { + "library.sol": { + "L": "0x4200000000000000000000000000000000000xx1" + } + } + }, + "sources": { + "empty": { + "content": "" + } + } + } + )"; + Json::Value result = compile(input); + BOOST_CHECK(containsError(result, "JSONError", "Invalid library address (\"0x4200000000000000000000000000000000000xx1\") supplied.")); +} + BOOST_AUTO_TEST_CASE(libraries_various_addresses) { char const* input = R"( |