From d22535592e8b0103b62f8a2a24f8c67f8b6399eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=8Brb?= Date: Wed, 21 Feb 2018 08:55:34 -0500 Subject: [PATCH] Never pass null ConfigOrigin to PathParser.parsePathNodeExpression (#538) This was causing NPEs on certain parse errors while trying to construct a ConfigException --- .../java/com/typesafe/config/impl/ConfigDocumentParser.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/config/src/main/java/com/typesafe/config/impl/ConfigDocumentParser.java b/config/src/main/java/com/typesafe/config/impl/ConfigDocumentParser.java index 235608a3e..29ffc70a1 100644 --- a/config/src/main/java/com/typesafe/config/impl/ConfigDocumentParser.java +++ b/config/src/main/java/com/typesafe/config/impl/ConfigDocumentParser.java @@ -261,7 +261,8 @@ private AbstractConfigNodeValue parseValue(Token t) { private ConfigNodePath parseKey(Token token) { if (flavor == ConfigSyntax.JSON) { if (Tokens.isValueWithType(token, ConfigValueType.STRING)) { - return PathParser.parsePathNodeExpression(Collections.singletonList(token).iterator(), null); + return PathParser.parsePathNodeExpression(Collections.singletonList(token).iterator(), + baseOrigin.withLineNumber(lineNumber)); } else { throw parseError("Expecting close brace } or a field name here, got " + token); @@ -279,7 +280,8 @@ private ConfigNodePath parseKey(Token token) { } putBack(t); // put back the token we ended with - return PathParser.parsePathNodeExpression(expression.iterator(), null); + return PathParser.parsePathNodeExpression(expression.iterator(), + baseOrigin.withLineNumber(lineNumber)); } }