diff --git a/src/core/CCSexp.ml b/src/core/CCSexp.ml index f31a2378..1c75df73 100644 --- a/src/core/CCSexp.ml +++ b/src/core/CCSexp.ml @@ -401,3 +401,24 @@ include (Make(struct *) let atom s : t = `Atom s + +(* regression for #338 *) +(*$R + Printexc.record_backtrace true; + let cases = [ + "\"\\256\""; + "\"\\722\02622222\\\\\n\r<\\\\\\\\\"\\222222222\\\\\"\"\2032!2222\\\\\"\""; + "\"\n\r<\\t\023\n\203\\622222222\\\\\"\"\2032!2222\\\\\"\""; + "\"\n\r<@t\023\n\203\\2222D2\n\r22222\01622222222222222222222222\203\\292242\222 2\\\\\">K2"; + "\"\n\r<\\t\023\n\203\\272222222\\\\\"\"\2032\0042222\\\\\"\""; + "\"\023\n\203\\5222\n\r<\\t\023\n\203\\52222222\\\\\"2\\\216\216\216\216\216\\\\\"\216\216\216\216\216\216\216\216\216222222222222222\147"; + "\"\\722\02622222\\\\\n\r<\\\\\\\\\"\\222222222\\\\\"\"\2032!2222\\\\\"\""; + ] in + cases + |> List.iter (fun s -> + try ignore (parse_string s); + with e -> + let st = Printexc.get_backtrace() in + print_endline @@ Printexc.to_string e ^ "\n" ^ st; + assert false) +*)