[PATCH] memcmp: fix comparison on short read

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux