[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ln "" foo gives misleading error message
From: |
Bob Proulx |
Subject: |
Re: ln "" foo gives misleading error message |
Date: |
Tue, 15 Jan 2013 02:58:04 -0700 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Andreas Schwab wrote:
> IMHO it is a kernel bug to give an error here. The symlink target shall
> not be parsed at symlink creation, and POSIX does not place any
> restriction on it apart from the maximum length.
Agreed. So far I can't think of any reason not to allow an empty
string there. Seems like a kernel bug.
> An empty name never resolves to a file, so any attempt to follow this
> symlink should fail with ENOENT (but not the symlink creation).
>
> > Perhaps the kernel authors were simply avoiding that question of
> > defining what to do with a zero length value for the symlink.
> > Allowing it may open more problems than they wanted to deal with and
> > simply using ENOENT perhaps the simplest error to return in that case.
>
> Since the symlink target needs to be parsed every time the link is
> followed I don't see how this can create more problems.
After some thinking I agree with you. It would be just the same as if
an empty string were given for the original file.
Seems like a Linux kernel bug.
Bob