diff options
author | Siarhei Siamashka <siarhei.siamashka@gmail.com> | 2015-09-03 02:36:39 +0300 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2015-09-10 20:20:45 +0200 |
commit | bfb05d0187d70274c77d02dc0de5e728e1f8be05 (patch) | |
tree | f35a7772fada4a52bcc26fb874aa227dd747edae /tools | |
parent | f88d546fb5efa1793db0856dd19611f70bf764d9 (diff) | |
download | u-boot-bfb05d0187d70274c77d02dc0de5e728e1f8be05.zip u-boot-bfb05d0187d70274c77d02dc0de5e728e1f8be05.tar.gz u-boot-bfb05d0187d70274c77d02dc0de5e728e1f8be05.tar.bz2 |
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 <siarhei.siamashka@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/mksunxiboot.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/mksunxiboot.c b/tools/mksunxiboot.c index 3361251..676d392 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); |