summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-04-21 18:12:59 -0600
committerLorenz Meier <lm@inf.ethz.ch>2014-07-06 16:51:27 +0200
commit2a94cc8e5babb7d5661aedc09201239d39644332 (patch)
treee4bcfd98e1425eea1889a38468c6299b8df9d942
parent71a3db13c2f2a91e8b5af554061dabb49d8d837a (diff)
downloadnuttx-2a94cc8e5babb7d5661aedc09201239d39644332.tar.gz
nuttx-2a94cc8e5babb7d5661aedc09201239d39644332.tar.bz2
nuttx-2a94cc8e5babb7d5661aedc09201239d39644332.zip
Fixed FS command IO buffer
-rw-r--r--apps/nshlib/nsh_fscmds.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/apps/nshlib/nsh_fscmds.c b/apps/nshlib/nsh_fscmds.c
index b3025309d..459e0c17b 100644
--- a/apps/nshlib/nsh_fscmds.c
+++ b/apps/nshlib/nsh_fscmds.c
@@ -408,7 +408,7 @@ static int ls_recursive(FAR struct nsh_vtbl_s *vtbl, const char *dirpath,
static int cat_common(FAR struct nsh_vtbl_s *vtbl, FAR const char *cmd,
FAR const char *filename)
{
- char buffer[IOBUFFERSIZE];
+ FAR char *buffer;
int fd;
int ret = OK;
@@ -421,6 +421,13 @@ static int cat_common(FAR struct nsh_vtbl_s *vtbl, FAR const char *cmd,
return ERROR;
}
+ buffer = (FAR char *)malloc(IOBUFFERSIZE);
+ if(buffer == NULL)
+ {
+ nsh_output(vtbl, g_fmtcmdfailed, cmd, "malloc", NSH_ERRNO);
+ return ERROR;
+ }
+
/* And just dump it byte for byte into stdout */
for (;;)
@@ -495,6 +502,7 @@ static int cat_common(FAR struct nsh_vtbl_s *vtbl, FAR const char *cmd,
}
(void)close(fd);
+ free(buffer);
return ret;
}
#endif