diff options
author | Jilles Tjoelker <jilles@FreeBSD.org> | 2014-03-06 22:47:11 +0000 |
---|---|---|
committer | Jilles Tjoelker <jilles@FreeBSD.org> | 2014-03-06 22:47:11 +0000 |
commit | c8a17392cb0f085c3a93fb16c1bda3ced2c845f8 (patch) | |
tree | cde5f0bbd126633b44816bfb2828117d18278816 /lib | |
parent | 5b4e50ae3350e8b6738438e9821b340c04d5db0c (diff) | |
download | src-c8a17392cb0f085c3a93fb16c1bda3ced2c845f8.tar.gz src-c8a17392cb0f085c3a93fb16c1bda3ced2c845f8.zip |
fts: Don't abort if an empty pathname is given.
Make fts_open(3) treat an empty pathname like any other pathname that cannot
be lstatted because of [ENOENT].
It is rather confusing if rm -rf file1 "" file2 does not remove file1 and
file2.
PR: bin/187264
MFC after: 2 weeks
Notes
Notes:
svn path=/head/; revision=262872
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libc/gen/fts.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/lib/libc/gen/fts.c b/lib/libc/gen/fts.c index 1724f9c0fd2b..7635fbc35263 100644 --- a/lib/libc/gen/fts.c +++ b/lib/libc/gen/fts.c @@ -161,11 +161,7 @@ fts_open(argv, options, compar) /* Allocate/initialize root(s). */ for (root = NULL, nitems = 0; *argv != NULL; ++argv, ++nitems) { - /* Don't allow zero-length paths. */ - if ((len = strlen(*argv)) == 0) { - errno = ENOENT; - goto mem3; - } + len = strlen(*argv); p = fts_alloc(sp, *argv, len); p->fts_level = FTS_ROOTLEVEL; |