~ chicken-core (chicken-5) 3cafafd5f1d65280c56f15e50f9d266c6eb06cb0
commit 3cafafd5f1d65280c56f15e50f9d266c6eb06cb0
Author: Evan Hanson <evhan@foldling.org>
AuthorDate: Mon Nov 6 17:43:29 2017 +1300
Commit: Peter Bex <peter@more-magic.net>
CommitDate: Sat Nov 11 15:59:59 2017 +0100
Drop `read-string' rewrite from c-platform.scm
After 25064a3c, the c-platform rewrite for `read-string' would ignore
its second argument and use an internal version of the procedure
whenever at least one argument was given, leading to potentially unsafe
behaviour since the type of that second argument wouldn't be checked (it
must be an *open* input port).
To fix this, we simply remove the rewrite so the port argument is always
checked at runtime.
Signed-off-by: Peter Bex <peter@more-magic.net>
diff --git a/c-platform.scm b/c-platform.scm
index d2323fe8..523ad20f 100644
--- a/c-platform.scm
+++ b/c-platform.scm
@@ -1053,7 +1053,6 @@
(rewrite 'scheme#read-char 23 0 '##sys#read-char/port '##sys#standard-input)
(rewrite 'scheme#write-char 23 1 '##sys#write-char/port '##sys#standard-output)
-(rewrite 'chicken.io#read-string 23 1 'chicken.io#read-string/port '##sys#standard-input)
(rewrite 'chicken.string#substring=? 23 2 '##sys#substring=? 0 0 #f)
(rewrite 'chicken.string#substring-ci=? 23 2 '##sys#substring-ci=? 0 0 #f)
(rewrite 'chicken.string#substring-index 23 2 '##sys#substring-index 0)
Trap