Handle EOFs in string literals correctly

We can't return a STR token without setting a valid StringToken,
otherwise the parser will crash.

Fixes #6562.
This commit is contained in:
Eelco Dolstra 2022-05-25 15:45:10 +02:00
parent d8398d33c9
commit 27ebb97d0a
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE
2 changed files with 4 additions and 1 deletions

View file

@ -198,7 +198,7 @@ or { return OR_KW; }
(...|\$[^\{\"\\]|\\.|\$\\.)+ would have triggered.
This is technically invalid, but we leave the problem to the
parser who fails with exact location. */
return STR;
return EOF;
}
\'\'(\ *\n)? { PUSH_STATE(IND_STRING); return IND_STRING_OPEN; }

View file

@ -0,0 +1,3 @@
# https://github.com/NixOS/nix/issues/6562
# Note that this file must not end with a newline.
a 1"$