From 7ba4ef897bbc7e6c7b65ccf01f4085ed86cd04d6 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Sun, 18 Mar 2018 04:58:15 +1100 Subject: Fix crash on expanding command line strings --- src/command_manager.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/command_manager.cc') diff --git a/src/command_manager.cc b/src/command_manager.cc index ac6ef56a..8d400a64 100644 --- a/src/command_manager.cc +++ b/src/command_manager.cc @@ -168,6 +168,7 @@ void skip_blanks_and_comments(Reader& reader) Token parse_percent_token(Reader& reader, bool throw_on_unterminated) { + kak_assert(*reader == '%'); ++reader; const auto type_start = reader.pos; while (reader and iswalpha(*reader)) @@ -340,7 +341,9 @@ String expand_impl(StringView str, const Context& context, Codepoint c = *reader; if (c == '\\') { - c = *++reader; + if (not (++reader)) + throw parse_error{"unterminated escape"}; + c = *reader; if (c == '%' or c == '\\') { res += reader.substr_from(beg); -- cgit v1.2.3