Skip to content
Snippets Groups Projects
  1. Dec 07, 2017
  2. Dec 06, 2017
    • Philipp Tomsich's avatar
      tools: omapimage: fix corner-case in byteswap path · c8e1ca3e
      Philipp Tomsich authored and Tom Rini's avatar Tom Rini committed
      
      Since commit 2614a208 ("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: 2614a208 ("common: command: tempory buffer should have size of command line buf")
      Fixes: 79b9ebb7 ("omapimage: Add support for byteswapped SPI images")
      Signed-off-by: Philipp Tomsich's avatarPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
      Reviewed-by: default avatarMartin Elshuber <martin.elshuber@theobroma-systems.com>
      c8e1ca3e
  3. Dec 05, 2017
  4. Dec 04, 2017
Loading