diff --git a/nshlib/nsh_fscmds.c b/nshlib/nsh_fscmds.c index 413ed246344..bf23beabe14 100644 --- a/nshlib/nsh_fscmds.c +++ b/nshlib/nsh_fscmds.c @@ -801,12 +801,13 @@ int cmd_cat(FAR struct nsh_vtbl_s *vtbl, int argc, FAR char **argv) while (true) { - ssize_t n = nsh_read(vtbl, buf, BUFSIZ); - - if (n == 0) - break; + ret = nsh_read(vtbl, buf, BUFSIZ); + if (ret <= 0) + { + break; + } - nsh_write(vtbl, buf, n); + nsh_write(vtbl, buf, ret); } free(buf);