shithub: sl

Download patch

ref: c60f221f9cf9d14ae7a79cfa57d6ee62d78f5ac6
parent: 8fe167486bc187b6319054be3b125e14d0e0a416
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 {