1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-21 15:55:07 +00:00

LibGUI: Fix CppLexer assertion on incomplete #include statements

Thanks to @NotKyon for reporting this bug with a solid analysis.

Fixes #1488.
This commit is contained in:
Andreas Kling 2020-04-04 11:00:14 +02:00
parent a502ba73dc
commit 37af1d74cc

View file

@ -363,16 +363,16 @@ Vector<CppToken> CppLexer::lex()
begin_token();
if (peek() == '<' || peek() == '"') {
char closing = consume() == '<' ? '>' : '"';
while (peek() != closing && peek() != '\n')
while (peek() && peek() != closing && peek() != '\n')
consume();
if (consume() == '\n') {
if (peek() && consume() == '\n') {
commit_token(CppToken::Type::IncludePath);
continue;
} else {
commit_token(CppToken::Type::IncludePath);
begin_token();
}
commit_token(CppToken::Type::IncludePath);
begin_token();
}
}