aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2018-02-28 17:44:48 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2018-02-28 17:44:48 +0800
commit7897301b7179603a1bc74d7be9eff6ccc67398db (patch)
tree7b36d115f9482963d04b44c35899b128dc1d1921 /test
parent83fec0232d38eb6214eb41104b6cd51b6f21f282 (diff)
downloaddexon-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.cpp23
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"(