Compiler throws exceptions during escape code handling #988
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Normally when Sophia encounters a lexing error, like an unclosed string literal, it returns a well defined
{error, [{err, ...}]}term. When you give it bad escape codes, including any of the following string literals, the compiler throws an exception, potentially crashing the entire erlang process. Sometimes the exception is something reasonable, like "** exception error: "Bad control sequence: \a"", but other times it is a ridiculous call stack from attempting to interpret random characters as hexadecimal digits. Examples of string literals that cause the compiler to crash: