delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/04/09/17:34:47

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <42584A5D.7070405@byu.net>
Date: Sat, 09 Apr 2005 15:34:21 -0600
From: Eric Blake <ebb9 AT byu DOT net>
User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: bug in .. handling
X-IsSubscribed: yes

Cygwin is taking too much liberty when resolving paths with .. in them. 
I've tested this with both 1.5.14 and the 20050408 snapshot.  POSIX requires 
that the pathname before the .. exist, and if it is a symlink, that it is 
resolved, before going to the parent directory.  For example:

$ cd /tmp/example
$ ls
$ mkdir -p a/b
$ ln -s a/b b
$ touch a/c a/b/d
$ ls b
d
$ ls b/..       # bug - should list contents of a, not .
a  b
$ ls a
b  c
$ ls none/..    # bug - should fail with ENOENT
a  b
$ ln -s e e
$ readlink -v e/none
readlink: e/foo: Too many levels of symbolic links
$ ls e/..       # bug - should fail with ELOOP
a  b  e

Basically, cygwin is blindly collapsing dir/.. into nothing, without first 
verifying dir, in violation of POSIX.

-- 
Someday, I might put a cute statement here.

Eric Blake             ebb9 AT byu DOT net


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019