aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/parsing/Parser.cpp
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-08-28 20:50:18 +0800
committerchriseth <chris@ethereum.org>2017-08-28 21:13:02 +0800
commit122e65f8f496b0b20406cc968a2e48e6434d1a8f (patch)
treeb623153dd3a068c45781e206e7c4b742f8d6cf7f /libsolidity/parsing/Parser.cpp
parentd15cde2aa88f39f67025bd40168f219232dad1d6 (diff)
downloaddexon-solidity-122e65f8f496b0b20406cc968a2e48e6434d1a8f.tar.gz
dexon-solidity-122e65f8f496b0b20406cc968a2e48e6434d1a8f.tar.zst
dexon-solidity-122e65f8f496b0b20406cc968a2e48e6434d1a8f.zip
Crash fix, parseTypeName can return null.
Diffstat (limited to 'libsolidity/parsing/Parser.cpp')
-rw-r--r--libsolidity/parsing/Parser.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/libsolidity/parsing/Parser.cpp b/libsolidity/parsing/Parser.cpp
index 4fc8fd13..ce8a9f01 100644
--- a/libsolidity/parsing/Parser.cpp
+++ b/libsolidity/parsing/Parser.cpp
@@ -1244,7 +1244,10 @@ ASTPointer<Expression> Parser::parseLeftHandSideExpression(
{
expectToken(Token::New);
ASTPointer<TypeName> typeName(parseTypeName(false));
- nodeFactory.setEndPositionFromNode(typeName);
+ if (typeName)
+ nodeFactory.setEndPositionFromNode(typeName);
+ else
+ nodeFactory.markEndPosition();
expression = nodeFactory.createNode<NewExpression>(typeName);
}
else