Module Name: src
Committed By: christos
Date: Sat Mar 20 18:23:30 UTC 2010
Modified Files:
src/libexec/ftpd: popen.c
Log Message:
PR/43023: Bruce Cran: FTPD bug remote crash
Since we specify NOCHECK, in the NOMATCH case gl_pathv can be NULL.
(From FreeBSD)
To generate a diff of this commit:
cvs rdiff -u -r1.36 -r1.37 src/libexec/ftpd/popen.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/libexec/ftpd/popen.c
diff -u src/libexec/ftpd/popen.c:1.36 src/libexec/ftpd/popen.c:1.37
--- src/libexec/ftpd/popen.c:1.36 Tue Mar 17 22:27:41 2009
+++ src/libexec/ftpd/popen.c Sat Mar 20 14:23:30 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: popen.c,v 1.36 2009/03/18 02:27:41 lukem Exp $ */
+/* $NetBSD: popen.c,v 1.37 2010/03/20 18:23:30 christos Exp $ */
/*-
* Copyright (c) 1999-2009 The NetBSD Foundation, Inc.
@@ -67,7 +67,7 @@
#if 0
static char sccsid[] = "@(#)popen.c 8.3 (Berkeley) 4/6/94";
#else
-__RCSID("$NetBSD: popen.c,v 1.36 2009/03/18 02:27:41 lukem Exp $");
+__RCSID("$NetBSD: popen.c,v 1.37 2010/03/20 18:23:30 christos Exp $");
#endif
#endif /* not lint */
@@ -139,7 +139,8 @@
int flags = GLOB_BRACE|GLOB_NOCHECK|GLOB_TILDE|GLOB_LIMIT;
memset(&gl, 0, sizeof(gl));
- if (glob(argv[argc], flags, NULL, &gl)) {
+ if (glob(argv[argc], flags, NULL, &gl)
+ || gl.gl_pathv == NULL) {
if (sl_add(sl, ftpd_strdup(argv[argc])) == -1) {
globfree(&gl);
goto pfree;