From: Siarhei Siamashka Date: Wed, 2 Sep 2015 23:36:39 +0000 (+0300) Subject: sunxi: Ensure that 'mksunxiboot' tool produces deterministic output X-Git-Tag: KARO-TXSD-2017-03-15~3392^2~1 X-Git-Url: https://git.karo-electronics.de/?p=karo-tx-uboot.git;a=commitdiff_plain;h=bfb05d0187d70274c77d02dc0de5e728e1f8be05 sunxi: Ensure that 'mksunxiboot' tool produces deterministic output Currently some uninitialized padding bytes are written to the output file, as can be confirmed with valgrind: $ valgrind tools/mksunxiboot spl/u-boot-spl.bin spl/sunxi-spl.bin ==5581== Syscall param write(buf) points to uninitialised byte(s) ==5581== at 0x4F0F940: __write_nocancel (in /lib64/libc-2.20.so) ==5581== by 0x400839: main (in /tmp/u-boot/tools/mksunxiboot) ==5581== Address 0xffeff5d3c is on thread 1's stack ==5581== in frame #1, created by main (???) This patch fixes the problem by clearing the whole structure instead of just a portion of it. Signed-off-by: Siarhei Siamashka Acked-by: Hans de Goede Signed-off-by: Hans de Goede --- diff --git a/tools/mksunxiboot.c b/tools/mksunxiboot.c index 3361251c8e..676d392fb4 100644 --- a/tools/mksunxiboot.c +++ b/tools/mksunxiboot.c @@ -99,7 +99,7 @@ int main(int argc, char *argv[]) return EXIT_FAILURE; } - memset(img.pad, 0, BLOCK_SIZE); + memset(&img, 0, sizeof(img)); /* get input file size */ file_size = lseek(fd_in, 0, SEEK_END);