GNU bug report logs -
#30116
[PATCH] `substitute' crashes when file contains NUL characters (core-updates)
Previous Next
Full log
View this message in rfc822 format
Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
> From 9891e428eae0ed24e0d61862b3f5e298606b79eb Mon Sep 17 00:00:00 2001
> From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
> Date: Sun, 14 Jan 2018 20:31:33 -0500
> Subject: [PATCH] utils: Prevent substitute from crashing on files containing
> NUL chars.
>
> Fixes issue #30116.
>
> * guix/build/utils.scm (substitute): Add condition to skip lines containing
> the NUL character.
[...]
> + ((string-contains line (make-string 1 #\nul))
Rather (string-index line #\nul).
> + ;; The regexp functions of the GNU C library (which Guile uses)
> + ;; cannot deal with NUL characters, so skip to the next line.
> + (format #t "skipping line with NUL characters: ~s\n" line)
> + (loop (read-line in 'concat)))
Rather (format (current-error-port) …).
It’s strange semantics, but it’s probably better than crashing in the
contexts where we use it.
Otherwise LGTM. This would have to go to the next ‘core-updates’ (or
‘core-updates-next’ in the meantime.)
Thanks!
Ludo’.
This bug report was last modified 4 years and 193 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.