From 4680a25a8cbe74df3193487851dfcd9b98bec7b8 Mon Sep 17 00:00:00 2001 From: anjiahao Date: Mon, 21 Feb 2022 17:39:09 +0800 Subject: [PATCH] cmd_dd:if read nbyte less than bs,must write nbyte if a file size is 10 use dd if=a of=b bs = 8 b file size will 16, is a error Signed-off-by: anjiahao --- nshlib/nsh_ddcmd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nshlib/nsh_ddcmd.c b/nshlib/nsh_ddcmd.c index ee800f7c6..0b05860db 100644 --- a/nshlib/nsh_ddcmd.c +++ b/nshlib/nsh_ddcmd.c @@ -102,7 +102,7 @@ static int dd_write(FAR struct dd_s *dd) written = 0; do { - nbytes = write(dd->outfd, buffer, dd->sectsize - written); + nbytes = write(dd->outfd, buffer, dd->nbytes - written); if (nbytes < 0) { FAR struct nsh_vtbl_s *vtbl = dd->vtbl; @@ -114,7 +114,7 @@ static int dd_write(FAR struct dd_s *dd) written += nbytes; buffer += nbytes; } - while (written < dd->sectsize); + while (written < dd->nbytes); return OK; }