[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'
From: |
Maxime Devos |
Subject: |
[bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'. |
Date: |
Fri, 27 May 2022 13:40:23 +0200 |
User-agent: |
Evolution 3.38.3-1 |
zimoun schreef op vr 27-05-2022 om 13:24 [+0200]:
> On Fri, 27 May 2022 at 13:17, Maxime Devos <maximedevos@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
Description: This is a digitally signed message part
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., (continued)
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., Maxime Devos, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., zimoun, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., Maxime Devos, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., zimoun, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., zimoun, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., Maxime Devos, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., zimoun, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., Maxime Devos, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., Maxime Devos, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'., zimoun, 2022/05/27
- [bug#55673] [PATCH] cache: Catch valid integer for 'last-expiry-cleanup'.,
Maxime Devos <=
[bug#55673] [PATCH v2] cache: Catch valid integer for 'last-expiry-cleanup'., zimoun, 2022/05/27
[bug#55673] [PATCH v3] cache: Catch invalid 'last-expiry-cleanup'., zimoun, 2022/05/30