aboutsummaryrefslogtreecommitdiff
path: root/env
diff options
context:
space:
mode:
authorPhilipp Tomsich2017-12-04 17:04:02 +0100
committerTom Rini2017-12-05 21:56:29 -0500
commitc8e1ca3ebfd21915f6f2e399c9ca1cd3d7a4b076 (patch)
treecc2827658d7419fbe56a6a7e5341e110fae0df08 /env
parent9188c4315cbf670417adf196fa1c6a386e885ef1 (diff)
tools: omapimage: fix corner-case in byteswap path
Since commit 2614a208471e ("common: command: tempory buffer should have size of command line buf"), there have been consistent Travis CI failures on my builds (interestingly not for Tom, even though building the same commit id) due to a SEGV in building the byteswapped omapimage: arm: pcm051_rev3 make[2]: *** [MLO.byteswap] Error 139 ^^^ error code for a SEGV Turns out that the word-based byte-swapping loop in omapimage.c is to blame. With the loop condition while (swapped <= (sbuf->st_size / sizeof(uint32_t))) there had been one-too-many iterations for all file sizes divisible by the sizeof(uint32_t). I.e. we had 1 iteration for 0 bytes (and also 1 through 3 bytes) and 2 iterations at 4 bytes... clearly overshooting on 0 and 4 bytes. This commit fixes the calculation of an up-rounded word-count and makes sure to keep the zero-based loop-counter below the number of words to be processed. References: 2614a20 ("common: command: tempory buffer should have size of command line buf") Fixes: 79b9ebb ("omapimage: Add support for byteswapped SPI images") Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Martin Elshuber <martin.elshuber@theobroma-systems.com>
Diffstat (limited to 'env')
0 files changed, 0 insertions, 0 deletions