[bug #19605] find does not report symlink loop when trying to follow symlinks

2007-04-17 Thread James Youngman
Follow-up Comment #2, bug #19605 (project findutils): Thinking about this again, I am less convinced this is a bug. AIUI find is required to diagnose directory loops. The standard says: The find utility shall detect infinite loops; that is, entering a previously visited directory that is an

[bug #19605] find does not report symlink loop when trying to follow symlinks

2007-04-17 Thread Geoff Clare
Follow-up Comment #3, bug #19605 (project findutils): You are confusing directory loops and symlink loops, which are completely different things. In a directory loop, a symlink points up to a parent directory of the symlink. A stat() of the symlink succeeds. In a symlink loop the symlink ends

[bug #19605] find does not report symlink loop when trying to follow symlinks

2007-04-17 Thread James Youngman
Follow-up Comment #4, bug #19605 (project findutils): But find does nto need to stat() a directory entry in order to discover that the entry itself is not a directory. Using -size causes the loop tobe diagnosed, because that requries a call to stat(). Determining that an item is not a

[bug #19605] find does not report symlink loop when trying to follow symlinks

2007-04-17 Thread Geoff Clare
Follow-up Comment #6, bug #19605 (project findutils): On second thoughts, d_type is a red herring. With the -L option, d_type doesn't provide enough information for symlinks - find needs to know what type of file the symlink points to (in order to tell whether the symlink points to a directory

[bug #19605] find does not report symlink loop when trying to follow symlinks

2007-04-16 Thread James Youngman
Follow-up Comment #1, bug #19605 (project findutils): Ouch. Fixed by the attached patch. The patch also fixes a problem with the test suite (not detecting some cases whetre a test should fail) and a problem in oldfind which relates to using out-of-date stat information. I have not yet