mtd: fix reading of image magic bytes in smaller chunks
authorJohn Crispin <john@openwrt.org>
Thu, 3 Mar 2016 20:24:38 +0000 (20:24 +0000)
committerJohn Crispin <john@openwrt.org>
Thu, 3 Mar 2016 20:24:38 +0000 (20:24 +0000)
commit4a4c324cd22e590990e323ed0ece974c7fa00d22
tree2c7b3b08166f2fcc5428220fe6e1c99b550c5070
parent8fb8b78bb214c7714a0c0a610ac86c81a5f5290f
mtd: fix reading of image magic bytes in smaller chunks

The image_check currently fails when it cannot read all magic bytes in a
single chunk. But this can happen when the data are read from a pipe. This
currently breaks the openmesh.sh upgrade script with musl because it uses
dd with a blocksize of 1 to copy the image file to the mtd process.

The read can simply be repeated until enough bytes are read for the magic
byte check. It only stops when either an error was returned or 0 bytes were
read.

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
SVN-Revision: 48891
package/system/mtd/src/mtd.c