CommandManager::parse: fix invalid memory read

This commit is contained in:
Maxime Coste 2012-08-15 17:34:01 +02:00
parent 99eaa259e6
commit 346108ec62

View File

@ -147,14 +147,15 @@ TokenList parse(const String& line,
}
else
{
while ((line[pos] != opening_delimiter or line[pos-1] == '\\') and
pos != length)
while (pos != length and
(line[pos] != opening_delimiter or line[pos-1] == '\\'))
++pos;
}
}
else
while (pos != length and not is_horizontal_blank(line[pos]) and
(not is_command_separator(line[pos]) or line[pos-1] == '\\'))
(not is_command_separator(line[pos]) or
(pos != 0 and line[pos-1] == '\\')))
++pos;
if (token_start != pos)