From owner-freebsd-bugs@FreeBSD.ORG Sun Apr 1 17:30:20 2012 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8933D1065670 for ; Sun, 1 Apr 2012 17:30:20 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 72DD18FC0C for ; Sun, 1 Apr 2012 17:30:20 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q31HUK4r028324 for ; Sun, 1 Apr 2012 17:30:20 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q31HUKR2028319; Sun, 1 Apr 2012 17:30:20 GMT (envelope-from gnats) Date: Sun, 1 Apr 2012 17:30:20 GMT Message-Id: <201204011730.q31HUKR2028319@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Richard Kettlewell Cc: Subject: Re: bin/166553: find -delete documentation is misleading X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Richard Kettlewell List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Apr 2012 17:30:20 -0000 The following reply was made to PR bin/166553; it has been noted by GNATS. From: Richard Kettlewell To: Matthew Story Cc: freebsd-gnats-submit@freebsd.org Subject: Re: bin/166553: find -delete documentation is misleading Date: Sun, 01 Apr 2012 18:25:55 +0100 On 01/04/2012 18:24, Matthew Story wrote: > On Sun, Apr 1, 2012 at 5:24 AM, Richard Kettlewell wrote: >> >> The documentation for 'find -delete' includes the following remark: >> >> It will not attempt to delete a filename with a “/” character in its pathname relative to “.” for security reasons. >> >> This reflects a defensive test early in f_delete. However, the test will not succeed, since find does not use FTS_NOCHDIR, so entry->fts_accpath should never contain "/". > > $ # show test succeeds > $ mkdir -p foo/bar/baz > $ find ./foo -delete > find: -delete: ./foo: relative path potentially not safe > > The reason that fts_accpath contains a leading ``./'' in this case is > that fts, even without FTS_NOCHDIR, does not chdir into the parent > directory of depth 0 directories on the first pass, fts_accpath will > always equal fts_pathname on depth 0 FTSENTs. Light dawns l-) Still, the wording could be improved: it doesn't really describe well when -delete will succeed and when it won't. ttfn/rjk