Skip to content

Invalid syntax freezes the JsonPreprocessor #381

@HolQue

Description

@HolQue

In the following JSONP snippet, parts of the import path are extracted from a list and a dictionary:

"dictDirs" : {"AA" : "AA", "BB" : "BB", "CC" : "CC", "DD" : "DD"},
"listDirs" : ["AA", "BB", "CC", "DD"],
"[import]" : "./dynamic_imports/${dictDirs}['AA']/${listDirs}[1]/${dictDirs.CC}/${listDirs.3}/imported.${listDirs.3}.1.jsonp"

This runs properly.

The following two versions of the third line contain syntax errors at different positions (closing square bracket instead of closing curly bracket after 'listDirs.3'):

"[import]" : "./dynamic_imports/${dictDirs}['AA']/${listDirs}[1]/${dictDirs.CC}/${listDirs.3}/imported.${listDirs.3].1.jsonp"
"[import]" : "./dynamic_imports/${dictDirs}['AA']/${listDirs}[1]/${dictDirs.CC}/${listDirs.3]/imported.${listDirs.3}.1.jsonp"

In both cases the bracket mismatch is detected properly:

Error: 'Invalid syntax! One or more than one closed curly bracket is missing in expression ...

The following import contains the bracket mismatch two times:

"[import]" : "./dynamic_imports/${dictDirs}['AA']/${listDirs}[1]/${dictDirs.CC}/${listDirs.3]/imported.${listDirs.3].1.jsonp"

Result: JsonPreprocessor freezes.

Expected: bracket mismatch error message

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions