Check that gl_pathc is bigger than zero before derefencing gl_pathv.

When gl_pathc == 0, the content of gl_pathv is undefined.

PR:		bin/144761
Submitted by:	David BERARD <contact davidberard fr>
Obtained from:	OpenBSD
MFC after:	1 week
This commit is contained in:
Xin LI 2010-03-25 22:41:01 +00:00
parent 780179e871
commit d56cc55917

View File

@ -110,10 +110,11 @@ ftpd_popen(char *program, char *type)
flags |= GLOB_LIMIT;
if (glob(argv[argc], flags, NULL, &gl))
gargv[gargc++] = strdup(argv[argc]);
else
else if (gl.gl_pathc > 0) {
for (pop = gl.gl_pathv; *pop && gargc < (MAXGLOBARGS-1);
pop++)
gargv[gargc++] = strdup(*pop);
}
globfree(&gl);
}
gargv[gargc] = NULL;