aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-08-28 22:07:14 +0800
committerGitHub <noreply@github.com>2017-08-28 22:07:14 +0800
commit1beef3836187fd92499aad80693dc6beb1d3a36f (patch)
treec5c3095b76adc4bcf4a55a248a9b3728b60fda02 /libsolidity
parentb3c251c1548e8f85a76cf1aef8bb698daa5e5ec7 (diff)
parent122e65f8f496b0b20406cc968a2e48e6434d1a8f (diff)
downloaddexon-solidity-1beef3836187fd92499aad80693dc6beb1d3a36f.tar
dexon-solidity-1beef3836187fd92499aad80693dc6beb1d3a36f.tar.gz
dexon-solidity-1beef3836187fd92499aad80693dc6beb1d3a36f.tar.bz2
dexon-solidity-1beef3836187fd92499aad80693dc6beb1d3a36f.tar.lz
dexon-solidity-1beef3836187fd92499aad80693dc6beb1d3a36f.tar.xz
dexon-solidity-1beef3836187fd92499aad80693dc6beb1d3a36f.tar.zst
dexon-solidity-1beef3836187fd92499aad80693dc6beb1d3a36f.zip
Merge pull request #2834 from ethereum/fixTypeNameParsing
Crash fix, parseTypeName can return null.
Diffstat (limited to 'libsolidity')
-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