From 75a3a707a243ccb6135c7931bb32ac7b44551082 Mon Sep 17 00:00:00 2001 From: Federico Bond Date: Sun, 11 Feb 2018 19:44:23 -0300 Subject: Fix segfault with undeclared array types --- libsolidity/analysis/ReferencesResolver.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'libsolidity/analysis/ReferencesResolver.cpp') diff --git a/libsolidity/analysis/ReferencesResolver.cpp b/libsolidity/analysis/ReferencesResolver.cpp index 30b06615..451d6c93 100644 --- a/libsolidity/analysis/ReferencesResolver.cpp +++ b/libsolidity/analysis/ReferencesResolver.cpp @@ -153,6 +153,11 @@ void ReferencesResolver::endVisit(Mapping const& _typeName) void ReferencesResolver::endVisit(ArrayTypeName const& _typeName) { TypePointer baseType = _typeName.baseType().annotation().type; + if (!baseType) + { + solAssert(!m_errorReporter.errors().empty(), ""); + return; + } if (baseType->storageBytes() == 0) fatalTypeError(_typeName.baseType().location(), "Illegal base type of storage size zero for array."); if (Expression const* length = _typeName.length()) -- cgit v1.2.3