GNU bug report logs -
#55673
[PATCH] cache: Catch valid integer for 'last-expiry-cleanup'.
Previous Next
Reported by: zimoun <zimon.toutoune <at> gmail.com>
Date: Fri, 27 May 2022 08:26:01 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #26 received at 55673 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
zimoun schreef op vr 27-05-2022 om 13:24 [+0200]:
> On Fri, 27 May 2022 at 13:17, Maxime Devos <maximedevos <at> telenet.be> 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.
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 2 years and 351 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.