Fix infinite loop when lexing an invalid newline sequence

This commit is contained in:
omicron 2025-03-30 22:03:12 +02:00
parent 55f6dff543
commit 942dd444cc

View File

@ -310,6 +310,7 @@ error_t *lexer_next_newline(lexer_t *lex, lexer_token_t *token) {
lex->character_number = 0; lex->character_number = 0;
lex->line_number += 1; lex->line_number += 1;
} else { } else {
lexer_shift_buffer(lex, 1);
token->id = TOKEN_ERROR; token->id = TOKEN_ERROR;
lex->character_number += 1; lex->character_number += 1;
token->value = strdup((char[]){lex->buffer[0]}); token->value = strdup((char[]){lex->buffer[0]});