Report failures correctly to AFL.

This commit is contained in:
chriseth 2017-02-16 18:05:11 +01:00
parent 8be318e75b
commit f66ebbc8e2

View File

@ -55,14 +55,14 @@ int main()
if (!Json::Reader().parse(outputString, outputJson))
{
cout << "Compiler produced invalid JSON output." << endl;
return -1;
abort();
}
if (outputJson.isMember("errors"))
{
if (!outputJson["errors"].isArray())
{
cout << "Output JSON has \"errors\" but it is not an array." << endl;
return -1;
abort();
}
for (Json::Value const& error: outputJson["errors"])
{
@ -79,14 +79,14 @@ int main()
if (!invalid.empty())
{
cout << "Invalid error: \"" << invalid << "\"" << endl;
return -1;
abort();
}
}
}
else if (!outputJson.isMember("contracts"))
{
cout << "Output JSON has neither \"errors\" nor \"contracts\"." << endl;
return -1;
abort();
}
return 0;
}