Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/libexec/ftpd PR/43023: Bruce Cran: FTPD bug remote crash



details:   https://anonhg.NetBSD.org/src/rev/b2552af90bab
branches:  trunk
changeset: 753217:b2552af90bab
user:      christos <christos%NetBSD.org@localhost>
date:      Sat Mar 20 18:23:30 2010 +0000

description:
PR/43023: Bruce Cran: FTPD bug remote crash
Since we specify NOCHECK, in the NOMATCH case gl_pathv can be NULL.
(From FreeBSD)

diffstat:

 libexec/ftpd/popen.c |  7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diffs (28 lines):

diff -r 9ed4ca78e9ed -r b2552af90bab libexec/ftpd/popen.c
--- a/libexec/ftpd/popen.c      Sat Mar 20 18:15:32 2010 +0000
+++ b/libexec/ftpd/popen.c      Sat Mar 20 18:23:30 2010 +0000
@@ -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;



Home | Main Index | Thread Index | Old Index