zimoun schreef op vr 27-05-2022 om 13:24 [+0200]: > On Fri, 27 May 2022 at 13:17, Maxime Devos wrote: > > > scheme@(guile-user)> (call-with-input-file "." read) > > ice-9/boot-9.scm:1669:16: In procedure raise-exception: > > In procedure fport_read: Is een map > > Euh, you are overengineering, no? We are talking about an internal > file used by the Guix cache. Yes, if the user tweaks this cache, then > bad things can happen. It is true for almost what lives in > ~/.cache/guix. Probably yes. Maybe it makes more sense when applied to get-string-all + string->number in a limited form: (or (string->number (catch 'system-error (lambda () (call-with-input-file [...] get-string-all)) (lambda arglist (if (= ENOENT (system-error-errno arglist)) "0" ; file does not exist (apply throw arglist))))) 0) Though even then there remain potential problems, try scheme@(guile-user)> (string->number "#e1e1000") ice-9/boot-9.scm:1669:16: In procedure raise-exception: In procedure string->number: Value out of range: 1000 (seems unlikely to encounter such corruption in practice though). Greetings, MAxime.