ref: 19887e156a7fe98c224793b4f95f42035e604645
parent: 494e560b72f5132a3b88db7e28b3e8d872fa55cc
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Mon Mar 27 16:57:22 EDT 2023
disallow invalid escape sequences (modified patch from Julia)
--- a/read.c
+++ b/read.c
@@ -552,7 +552,12 @@
i += u8_wc_toutf8(&buf[i], wc);
}
else {
- buf[i++] = read_escape_control_char((char)c);
+ char esc = read_escape_control_char((char)c);
+ if (esc == (char)c && !strchr("\\'\"`", esc)) {
+ free(buf);
+ lerrorf(ParseError, "read: invalid escape sequence: \\%c", (char)c);
+ }
+ buf[i++] = esc;
}
}
else {