Date: Thu, 27 Sep 2007 01:53:06 +1000 (EST) From: Ian Smith <smithi@nimnet.asn.au> To: LI Xin <d@delphij.net> Cc: freebsd-stable@freebsd.org Subject: Re: rm(1) bug, possibly serious Message-ID: <Pine.BSF.3.96.1070927011257.15238C-100000@gaia.nimnet.asn.au> In-Reply-To: <46F972DA.4020704@delphij.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 25 Sep 2007, LI Xin wrote:
> Oliver Fromme wrote:
> > Nicolas Rachinsky wrote:
> > > Oliver Fromme wrote:
> > > > By the way, an additional confusion is that ".." and "../"
> > > > are handled differently. Specifying ".." always leads to
> > > > this message:
> > > >
> > > > rm: "." and ".." may not be removed
> > > >
> > > > and nothing is actually removed. It is confusing that
> > > > adding a slash leads to a different error message _and_
> > > > removal of the contents of the parent directory. Clearly
> > > > a POLA violation.
Clearly a bug, and well spotted, especially if as old as reported.
> > >
> > > Adding a slash often leads to different behaviour.
> >
> > Yes, I'm aware of that. I often make use of the feature
> > that "find /sys/" expands the symlink, while "find /sys"
> > does not. The same holds true for ls(1).
But fortunately not for rm(1):
The rm utility removes symbolic links, not the files referenced by the
links.
It is an error to attempt to remove the files /, . or ..
> > However, I would still argue that there is no sane reason
> > for "rm -rf ../" behaving differently from "rm -rf ..",
> > especially because it behaves differently in a destructive
> > way. That's why I call it a POLA violation.
>
> Also a POSIX violation IMHO :-)
Indeed; I can't imagine a situation where removing "." (let alone "..")
and so orphaning the pwd might be considered sane, never mind legal ..
but maybe I lack imagination :)
Cheers, Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.1070927011257.15238C-100000>
