aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/inlineasm
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-04-22 00:01:41 +0800
committerchriseth <chris@ethereum.org>2017-04-25 22:49:04 +0800
commit5f4b68e211a10af513d53cd2b9586191e174423d (patch)
tree494d5050fbf930aa982bd0d3b54aa8da770ad51d /libsolidity/inlineasm
parentdfb7d5ebd955d390142241a2abcb95995ef1ba04 (diff)
downloaddexon-solidity-5f4b68e211a10af513d53cd2b9586191e174423d.tar.gz
dexon-solidity-5f4b68e211a10af513d53cd2b9586191e174423d.tar.zst
dexon-solidity-5f4b68e211a10af513d53cd2b9586191e174423d.zip
Another stack check.
Diffstat (limited to 'libsolidity/inlineasm')
-rw-r--r--libsolidity/inlineasm/AsmAnalysis.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/libsolidity/inlineasm/AsmAnalysis.cpp b/libsolidity/inlineasm/AsmAnalysis.cpp
index 9ff15fd0..80cabe2e 100644
--- a/libsolidity/inlineasm/AsmAnalysis.cpp
+++ b/libsolidity/inlineasm/AsmAnalysis.cpp
@@ -164,7 +164,9 @@ bool AsmAnalyzer::operator()(FunctionalAssignment const& _assignment)
bool AsmAnalyzer::operator()(assembly::VariableDeclaration const& _varDecl)
{
+ int const stackHeight = m_stackHeight;
bool success = boost::apply_visitor(*this, *_varDecl.value);
+ solAssert(m_stackHeight - stackHeight == 1, "Invalid value size.");
boost::get<Scope::Variable>(m_currentScope->identifiers.at(_varDecl.name)).active = true;
return success;
}