9
0
Fork 0

memcmp: fix comparison on short read

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@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Uwe Kleine-König 2017-03-01 15:50:04 +01:00 committed by Sascha Hauer
parent 019606ddc3
commit e0ff988ad8
1 changed files with 2 additions and 2 deletions

View File

@ -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;