diff options
-rw-r--r-- | cpukit/ChangeLog | 5 | ||||
-rw-r--r-- | cpukit/libmisc/shell/main_setenv.c | 13 |
2 files changed, 8 insertions, 10 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index b227d57826..8720159e29 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,5 +1,10 @@ 2011-03-15 Joel Sherrill <joel.sherrill@oarcorp.com> + * libmisc/shell/main_setenv.c: Revert after discussion. Mark as + intentional in Coverity. + +2011-03-15 Joel Sherrill <joel.sherrill@oarcorp.com> + * libfs/src/dosfs/msdos_format.c: Address Coverity issue 183 which was where an expression evaluated to a constant and issue 185 which was a potential (although unlikely in expected usage) time-of-check, diff --git a/cpukit/libmisc/shell/main_setenv.c b/cpukit/libmisc/shell/main_setenv.c index eb47dddaa8..5b7c92920f 100644 --- a/cpukit/libmisc/shell/main_setenv.c +++ b/cpukit/libmisc/shell/main_setenv.c @@ -16,13 +16,6 @@ #include <rtems/shell.h> #include "internal.h" -/* - * Limit examining or copying more than 256 characters at a time. - * Yes, this is very arbitrary. If there are POSIX constants, then - * they should be used. - */ -#define MAX 156 - int rtems_shell_main_setenv(int argc, char *argv[]) { char* env = NULL; @@ -39,7 +32,7 @@ int rtems_shell_main_setenv(int argc, char *argv[]) env = argv[1]; for (arg = 2; arg < argc; arg++) - len += strnlen(argv[arg], MAX); + len += strlen(argv[arg]); len += argc - 2 - 1; @@ -51,8 +44,8 @@ int rtems_shell_main_setenv(int argc, char *argv[]) } for (arg = 2, p = string; arg < argc; arg++) { - strncpy(p, argv[arg], MAX); - p += strnlen(argv[arg], MAX); + strcpy(p, argv[arg]); + p += strlen(argv[arg]); if (arg < (argc - 1)) { *p = ' '; p++; |