Introduce solidity_free in libsolc

This commit is contained in:
Alex Beregszaszi
2019-01-31 15:53:55 +00:00
parent e83e9a81e5
commit 554511b68e
5 changed files with 17 additions and 0 deletions
+3
View File
@@ -45,6 +45,7 @@ Json::Value compile(string const& _input)
string output(solidity_compile(_input.c_str(), nullptr));
Json::Value ret;
BOOST_REQUIRE(jsonParseStrict(output, ret));
solidity_free();
return ret;
}
@@ -56,12 +57,14 @@ BOOST_AUTO_TEST_CASE(read_version)
{
string output(solidity_version());
BOOST_CHECK(output.find(VersionString) == 0);
solidity_free();
}
BOOST_AUTO_TEST_CASE(read_license)
{
string output(solidity_license());
BOOST_CHECK(output.find("GNU GENERAL PUBLIC LICENSE") != string::npos);
solidity_free();
}
BOOST_AUTO_TEST_CASE(standard_compilation)
+4
View File
@@ -35,6 +35,10 @@ void FuzzerUtil::runCompiler(string const& _input, bool _quiet)
string outputString(solidity_compile(_input.c_str(), nullptr));
if (!_quiet)
cout << "Output JSON: " << outputString << endl;
// This should be safe given the above copies the output.
solidity_free();
Json::Value output;
if (!jsonParseStrict(outputString, output))
{