aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2018-08-07 19:55:40 +0800
committerGitHub <noreply@github.com>2018-08-07 19:55:40 +0800
commit8b2d630275fb29d2915af76f608be4d4e422907f (patch)
treec45a9efcec1e7a769a1a38b9eac8c8a1525fac83 /libsolidity
parent261fedd3b04fc67e4359002631d8f6b46032b85f (diff)
parent296ba24f7f14811c5a5482457391d4f1afa49a87 (diff)
downloaddexon-solidity-8b2d630275fb29d2915af76f608be4d4e422907f.tar
dexon-solidity-8b2d630275fb29d2915af76f608be4d4e422907f.tar.gz
dexon-solidity-8b2d630275fb29d2915af76f608be4d4e422907f.tar.bz2
dexon-solidity-8b2d630275fb29d2915af76f608be4d4e422907f.tar.lz
dexon-solidity-8b2d630275fb29d2915af76f608be4d4e422907f.tar.xz
dexon-solidity-8b2d630275fb29d2915af76f608be4d4e422907f.tar.zst
dexon-solidity-8b2d630275fb29d2915af76f608be4d4e422907f.zip
Merge pull request #4724 from ethereum/slot-in-assembly
Do not crash on using _slot and _offset suffixes on their own
Diffstat (limited to 'libsolidity')
-rw-r--r--libsolidity/analysis/ReferencesResolver.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/libsolidity/analysis/ReferencesResolver.cpp b/libsolidity/analysis/ReferencesResolver.cpp
index ba793933..5458c1b0 100644
--- a/libsolidity/analysis/ReferencesResolver.cpp
+++ b/libsolidity/analysis/ReferencesResolver.cpp
@@ -256,6 +256,11 @@ bool ReferencesResolver::visit(InlineAssembly const& _inlineAssembly)
string("_slot").size() :
string("_offset").size()
));
+ if (realName.empty())
+ {
+ declarationError(_identifier.location, "In variable names _slot and _offset can only be used as a suffix.");
+ return size_t(-1);
+ }
declarations = m_resolver.nameFromCurrentScope(realName);
}
if (declarations.size() != 1)