From 1b75d3e3b4fe00c49bbc352dac64e9dd44825658 Mon Sep 17 00:00:00 2001 From: Jan-Simon Pendry Date: Wed, 6 Apr 1994 18:04:21 -0800 Subject: [PATCH] fix globbing - need NOCHECK flag SCCS-vsn: libexec/ftpd/popen.c 8.3 SCCS-vsn: libexec/ftpd/ftpd.c 8.3 --- usr/src/libexec/ftpd/ftpd.c | 5 +++-- usr/src/libexec/ftpd/popen.c | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/usr/src/libexec/ftpd/ftpd.c b/usr/src/libexec/ftpd/ftpd.c index 09dc72d955..02db585d5a 100644 --- a/usr/src/libexec/ftpd/ftpd.c +++ b/usr/src/libexec/ftpd/ftpd.c @@ -12,7 +12,7 @@ static char copyright[] = #endif /* not lint */ #ifndef lint -static char sccsid[] = "@(#)ftpd.c 8.2 (Berkeley) %G%"; +static char sccsid[] = "@(#)ftpd.c 8.3 (Berkeley) %G%"; #endif /* not lint */ /* @@ -1412,10 +1412,11 @@ send_file_list(whichf) glob_t gl; if (strpbrk(whichf, "~{[*?") != NULL) { + int flags = GLOB_BRACE|GLOB_NOCHECK|GLOB_QUOTE|GLOB_TILDE; memset(&gl, 0, sizeof(gl)); freeglob = 1; - if (glob(whichf, GLOB_BRACE|GLOB_QUOTE|GLOB_TILDE, 0, &gl)) { + if (glob(whichf, flags, 0, &gl)) { reply(550, "not found"); goto out; } else if (gl.gl_pathc == 0) { diff --git a/usr/src/libexec/ftpd/popen.c b/usr/src/libexec/ftpd/popen.c index 1f5a0bc135..9717bb2408 100644 --- a/usr/src/libexec/ftpd/popen.c +++ b/usr/src/libexec/ftpd/popen.c @@ -10,7 +10,7 @@ */ #ifndef lint -static char sccsid[] = "@(#)popen.c 8.2 (Berkeley) %G%"; +static char sccsid[] = "@(#)popen.c 8.3 (Berkeley) %G%"; #endif /* not lint */ #include @@ -65,7 +65,7 @@ ftpd_popen(program, type) gargv[0] = argv[0]; for (gargc = argc = 1; argv[argc]; argc++) { glob_t gl; - int flags = GLOB_BRACE|GLOB_QUOTE|GLOB_TILDE; + int flags = GLOB_BRACE|GLOB_NOCHECK|GLOB_QUOTE|GLOB_TILDE; memset(&gl, 0, sizeof(gl)); if (glob(argv[argc], flags, NULL, &gl)) -- 2.20.1