Mercurial > urweb
view tests/unpoly.ur @ 2297:6d56080f495c
Fix a read-after-free bug using a timestamp check
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Thu, 19 Nov 2015 13:18:58 -0500 |
parents | 338be96f8533 |
children |
line wrap: on
line source
val current = return (Some "1") fun resolve (_ : string) = return (Some "2") fun checkDeps deps = u <- current; List.foldlM (fn s (good, errs) => v' <- resolve s; case v' of None => return (False, <xml> {errs} Unknown library path <tt>{[s]}</tt>.<br/> </xml>) | Some v' => b <- return True; if b then return (good, errs) else return (False, <xml> {errs} Access denied to <tt>{[s]}</tt>.<br/> </xml>)) (True, <xml/>) deps fun main () = p <- checkDeps ("a" :: "b" :: []); return <xml><body> {p.2} </body></xml>