read() might return less than $count bytes which is only an upper limit. The user is supposed to repeat the command to fill a buffer completely. So use the convenience wrapper read_full in memcmp. This fixes memcmp on /dev/nand0 on an Armada XP. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> --- commands/memcmp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/commands/memcmp.c b/commands/memcmp.c index ce044df0d935..a00fddbc825f 100644 --- a/commands/memcmp.c +++ b/commands/memcmp.c @@ -91,13 +91,13 @@ static int do_memcmp(int argc, char *argv[]) now = min((loff_t)RW_BUF_SIZE, count); - r1 = read(sourcefd, mem_rw_buf, now); + r1 = read_full(sourcefd, mem_rw_buf, now); if (r1 < 0) { perror("read"); goto out; } - r2 = read(destfd, rw_buf1, now); + r2 = read_full(destfd, rw_buf1, now); if (r2 < 0) { perror("read"); goto out; -- 2.11.0 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox