diff options
author | Tom Rini <trini@konsulko.com> | 2020-07-17 16:08:54 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-07-17 16:08:54 -0400 |
commit | 1c4b5038afcc7cdb1064713f65571da05aa0de0e (patch) | |
tree | bbb554b1128dc15453a91fc50408446da2e0ddd2 /tools/mkimage.c | |
parent | 7c3cc6f106ed1ca13b0ff6eea9f8e1473240aef3 (diff) | |
parent | 21fc5a16855602b2fd4b39e40679f854101a0fa3 (diff) |
Merge branch '2020-07-17-misc-fixes'
A large number of assorted fixes, including but not limited to:
- Correct fixdep and CONFIG_IS_ENABLED(...)
- lz4 on big endian
- Assorted LMB hardening
- Remove bd_t typedef
Diffstat (limited to 'tools/mkimage.c')
-rw-r--r-- | tools/mkimage.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/tools/mkimage.c b/tools/mkimage.c index d2cd1917874..7cb666d4822 100644 --- a/tools/mkimage.c +++ b/tools/mkimage.c @@ -674,7 +674,7 @@ copy_file (int ifd, const char *datafile, int pad) int zero = 0; uint8_t zeros[4096]; int offset = 0; - int size; + int size, ret; struct image_type_params *tparams = imagetool_get_type(params.type); memset(zeros, 0, sizeof(zeros)); @@ -730,9 +730,16 @@ copy_file (int ifd, const char *datafile, int pad) } size = sbuf.st_size - offset; - if (write(ifd, ptr + offset, size) != size) { - fprintf (stderr, "%s: Write error on %s: %s\n", - params.cmdname, params.imagefile, strerror(errno)); + + ret = write(ifd, ptr + offset, size); + if (ret != size) { + if (ret < 0) + fprintf (stderr, "%s: Write error on %s: %s\n", + params.cmdname, params.imagefile, strerror(errno)); + else if (ret < size) + fprintf (stderr, "%s: Write only %d/%d bytes, "\ + "probably no space left on the device\n", + params.cmdname, ret, size); exit (EXIT_FAILURE); } |