diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-04-21 18:12:59 -0600 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-07-06 16:51:27 +0200 |
commit | 2a94cc8e5babb7d5661aedc09201239d39644332 (patch) | |
tree | e4bcfd98e1425eea1889a38468c6299b8df9d942 | |
parent | 71a3db13c2f2a91e8b5af554061dabb49d8d837a (diff) | |
download | nuttx-2a94cc8e5babb7d5661aedc09201239d39644332.tar.gz nuttx-2a94cc8e5babb7d5661aedc09201239d39644332.tar.bz2 nuttx-2a94cc8e5babb7d5661aedc09201239d39644332.zip |
Fixed FS command IO buffer
-rw-r--r-- | apps/nshlib/nsh_fscmds.c | 10 |
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 |