aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ExpressionCompiler.cpp2
-rw-r--r--Types.cpp20
2 files changed, 13 insertions, 9 deletions
diff --git a/ExpressionCompiler.cpp b/ExpressionCompiler.cpp
index add5f73b..f872e058 100644
--- a/ExpressionCompiler.cpp
+++ b/ExpressionCompiler.cpp
@@ -291,7 +291,7 @@ void ExpressionCompiler::endVisit(MemberAccess const& _memberAccess)
IntegerType(0, IntegerType::Modifier::ADDRESS), true);
m_context << eth::Instruction::BALANCE;
}
- else if (member == "send" || member.substr(0, 4) == "call")
+ else if (member == "send" || member.substr(0, min<size_t>(member.size(), 4)) == "call")
appendTypeConversion(*_memberAccess.getExpression().getType(),
IntegerType(0, IntegerType::Modifier::ADDRESS), true);
else
diff --git a/Types.cpp b/Types.cpp
index a0a809b9..c2d48841 100644
--- a/Types.cpp
+++ b/Types.cpp
@@ -193,14 +193,18 @@ u256 IntegerType::literalValue(Literal const& _literal) const
}
const MemberList IntegerType::AddressMemberList =
- MemberList({{"balance", make_shared<IntegerType const>(256)},
- {"callstring32", make_shared<FunctionType const>(TypePointers({make_shared<StaticStringType const>(32)}),
- TypePointers(), FunctionType::Location::BARE)},
- {"callstring32string32", make_shared<FunctionType const>(TypePointers({make_shared<StaticStringType const>(32),
- make_shared<StaticStringType const>(32)}),
- TypePointers(), FunctionType::Location::BARE)},
- {"send", make_shared<FunctionType const>(TypePointers({make_shared<IntegerType const>(256)}),
- TypePointers(), FunctionType::Location::SEND)}});
+ MemberList({{"balance",
+ make_shared<IntegerType const>(256)},
+ {"callstring32",
+ make_shared<FunctionType const>(TypePointers({make_shared<StaticStringType const>(32)}),
+ TypePointers(), FunctionType::Location::BARE)},
+ {"callstring32string32",
+ make_shared<FunctionType const>(TypePointers({make_shared<StaticStringType const>(32),
+ make_shared<StaticStringType const>(32)}),
+ TypePointers(), FunctionType::Location::BARE)},
+ {"send",
+ make_shared<FunctionType const>(TypePointers({make_shared<IntegerType const>(256)}),
+ TypePointers(), FunctionType::Location::SEND)}});
shared_ptr<StaticStringType> StaticStringType::smallestTypeForLiteral(string const& _literal)
{