mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-27 14:52:05 -05:00
1b0b1651b1
This is the last bit fixing <https://bugs.gnu.org/35283>. Previously, 'mformat' (used by 'grub-mkrescue') would pass uninitialized bytes to write(2), leading to non-deterministic FAT image contents. This patch fixes that. * gnu/packages/patches/mtools-mformat-uninitialized.patch: New file. * gnu/packages/mtools.scm (mtools)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it.
20 lines
573 B
Diff
20 lines
573 B
Diff
Fix a bug whereby 'mformat' could end up passing uninitialized bytes
|
|
to write(2). This could be reproduced with:
|
|
|
|
mformat -C -f 1440 -L 16 -N 77777777 -i /tmp/x ::
|
|
|
|
where the output of /tmp/x would be non-deterministic.
|
|
|
|
Patch by Ludovic Courtès <ludo@gnu.org>.
|
|
|
|
--- mtools-4.0.23/mformat.c 2019-04-21 00:12:01.496116195 +0200
|
|
+++ mtools-4.0.23/mformat.c 2019-04-21 00:12:36.675967157 +0200
|
|
@@ -927,6 +927,7 @@ void mformat(int argc, char **argv, int
|
|
|
|
char *endptr;
|
|
|
|
+ memset(&boot.bytes, '\0', sizeof boot);
|
|
hs = hs_set = 0;
|
|
argtracks = 0;
|
|
argheads = 0;
|
|
|