coverity: check argv

This commit is contained in:
Andy Green 2018-05-05 06:58:52 +08:00
parent eeb76e822a
commit e7673b4c1d

View file

@ -2926,13 +2926,17 @@ lws_cmdline_option(int argc, const char **argv, const char *val)
{
int n = (int)strlen(val), c = argc;
while (--c > 0)
while (--c > 0) {
/* coverity treats unchecked argv as "tainted" */
if (!argv[c] || strlen(argv[c]) > 1024)
return NULL;
if (!strncmp(argv[c], val, n)) {
if (!*(argv[c] + n) && c < argc - 1)
return argv[c + 1];
return argv[c] + n;
}
}
return NULL;
}