Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Nov 2010 14:16:47 -0800
From:      Bakul Shah <bakul@bitblocks.com>
To:        Matthew Jacob <mj@feral.com>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: find(1): Is this a bug or not? 
Message-ID:  <20101129221648.159C45B18@mail.bitblocks.com>
In-Reply-To: Your message of "Mon, 29 Nov 2010 12:39:43 PST." <4CF40F8F.30303@feral.com> 
References:  <86r5e3zye4.fsf@pluton.xbsd.name> <4CF40F8F.30303@feral.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 29 Nov 2010 12:39:43 PST Matthew Jacob <mj@feral.com>  wrote:
> can you report out the actual command line you're using and what release 
> it's from?
> 
> On 11/29/2010 12:08 PM, Denise H. G. wrote:
> > Hi,
> >
> > I found that, while searching for empty directories, find(1) will not
> > continue if it encounters a dir it can't enter (e.g. no privilege). I
> > don't know if it's so designed... I've checked NetBSD and OpenBSD's
> > implementations (almost identical to that of FreeBSD's). And they behave
> > the same way as FreeBSD's find(1) does under the circumstance.
> >
> > I'm wondering if this is a bug or not.

This looks like a long standing bug:

% mkdir -p a/{b,c}/d/e/f
% find a -empty
% chmod 000 a/b/d/ef
% find a -empty

The fix:

% cd /usr/src/usr.bin/find
% svn diff
Index: function.c
===================================================================
--- function.c  (revision 212707)
+++ function.c  (working copy)
@@ -560,7 +560,7 @@
		empty = 1;
		dir = opendir(entry->fts_accpath);
		if (dir == NULL)
-			err(1, "%s", entry->fts_accpath);
+			return 0;
		for (dp = readdir(dir); dp; dp = readdir(dir))
		        if (dp->d_name[0] != '.' ||
			    (dp->d_name[1] != '\0' &&




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101129221648.159C45B18>