viml/parser/expressions: Fix last error found by KLEE

This commit is contained in:
ZyX 2017-10-29 01:29:48 +03:00
parent b574e95850
commit 568cf73c90
2 changed files with 20 additions and 1 deletions

View File

@ -2445,6 +2445,7 @@ viml_pexpr_parse_bracket_closing_error:
cur_node->children = *top_node_p;
}
*top_node_p = cur_node;
new_top_node_p = top_node_p;
goto viml_pexpr_parse_figure_brace_closing_error;
}
if (want_node == kENodeValue) {

View File

@ -7120,7 +7120,25 @@ describe('Expressions parser', function()
hl('InvalidDoubleQuotedString', '"'),
hl('InvalidDoubleQuotedEscape', '\\1'),
})
check_parsing('}l')
check_parsing('}l', 0, {
-- 01
ast = {
{
'OpMissing:0:1:',
children = {
'UnknownFigure(---):0:0:',
'PlainIdentifier(scope=0,ident=l):0:1:l',
},
},
},
err = {
arg = '}l',
msg = 'E15: Unexpected closing figure brace: %.*s',
},
}, {
hl('InvalidFigureBrace', '}'),
hl('InvalidIdentifier', 'l'),
})
check_parsing(':?\000\000\000\000\000\000\000', 0, {
ast = {
{