From 46eba2ef988cb9db83ec1c4529dfde9ef3377feb Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Tue, 19 Jun 2018 21:49:49 +0630 Subject: [PATCH] Improve validation of jbuild atoms Signed-off-by: Rudi Grinberg --- src/usexp/atom.ml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/usexp/atom.ml b/src/usexp/atom.ml index 471301e1..c53eaa97 100644 --- a/src/usexp/atom.ml +++ b/src/usexp/atom.ml @@ -12,8 +12,12 @@ let (is_valid_jbuild, is_valid_dune) = let rec jbuild s i len = i = len || match String.unsafe_get s i with + | '#' -> disallow_next '|' s (i + 1) len + | '|' -> disallow_next '#' s (i + 1) len | '"' | '(' | ')' | ';' | '\000'..'\032' | '\127'..'\255' -> false | _ -> jbuild s (i + 1) len + and disallow_next c s i len = + i = len || String.unsafe_get s i <> c && jbuild s i len in let rec dune s i len = i = len ||