Make addmod and mulmod revert if the last argument is zero.

This commit is contained in:
chriseth
2018-02-15 13:52:17 +01:00
parent 5746e2d7d8
commit 2b5a5a8669
5 changed files with 37 additions and 5 deletions
+5 -1
View File
@@ -765,7 +765,11 @@ bool ExpressionCompiler::visit(FunctionCall const& _functionCall)
case FunctionType::Kind::AddMod:
case FunctionType::Kind::MulMod:
{
for (unsigned i = 0; i < 3; i ++)
arguments[2]->accept(*this);
utils().convertType(*arguments[2]->annotation().type, IntegerType(256));
m_context << Instruction::DUP1 << Instruction::ISZERO;
m_context.appendConditionalInvalid();
for (unsigned i = 1; i < 3; i ++)
{
arguments[2 - i]->accept(*this);
utils().convertType(*arguments[2 - i]->annotation().type, IntegerType(256));