Array 'argv' of size 512 may use index value(s) 512.
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: I808b6f52f0e8b548978290dd08f1f5fc3ce929a1
Reviewed-on: http://review.whamcloud.com/10135
Tested-by: Jenkins
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
static int line2args(char *line, char **argv, int maxargs)
{
static int line2args(char *line, char **argv, int maxargs)
{
- char *arg;
- int i = 0;
+ char *arg;
+ int i = 0;
- arg = strtok(line, " \t");
- if ( arg ) {
- argv[i] = arg;
- i++;
- } else
- return 0;
+ arg = strtok(line, " \t");
+ if (arg == NULL || maxargs < 1)
+ return 0;
- while( (arg = strtok(NULL, " \t")) && (i <= maxargs)) {
- argv[i] = arg;
- i++;
- }
- return i;
+ argv[i++] = arg;
+ while ((arg = strtok(NULL, " \t")) != NULL && i < maxargs)
+ argv[i++] = arg;
+ return i;
}
/* find a command -- return it if unique otherwise print alternatives */
}
/* find a command -- return it if unique otherwise print alternatives */