Mailing List Archive

File/Find.pm bug - $dir is sometimes set wrong
Hello,

The File/Find.pm module has a bug which makes it sometimes find bogus paths.
The symptom is that "$dir", which is supposed to contain the current working
directory path, sometimes contains the parent directory!

I haven't nailed down exactly when this occurs, although I've noticed it
when broken symlinks are present in the directories being searched.

I'm enclosing a tar archive (made with gnu tar) containing a test directory
structure which triggers the problem on my machine, and a demo script.
Everything is contained in a top-level directory "findbug.d".

I'm running perl5.001m on SunOS 4.x.

Thanks for any help or assistance.
-Jim Avera
(avera@hal.com)

begin 644 findbug.gtar
M9FEN9&)U9RYD+P
M
M " @(#<U-2 (" R-C,V( @(#$W-3 @ " @(" @(" @(" P
M(" V,#0P-S8T-S,S(" Q,#8S-P @-0
M
M !U<W1A<B @ &%V97)A
M 2&%,
M
M
M
M
M !F:6YD8G5G+F0O9&5M;RYP;
M
M (" @-S4U( @(#(V,S8@ " @
M,3<U," (" @(" @(#(R,3 @(#8P-# W-C4U,#(@(#$R,3<Q " P
M
M
M '5S=&%R(" 879E<F$ !(
M84P
M
M
M
M #H*979A;" G97AE
M8R O=&]O;',O=7!D+W!E<FPU+VQA=&5S="]B:6XO<&5R;" M4R D," D>S$K
M(B1 (GTG"FEF(# ["@HC"B,@5&AI<R!S8W)I<'0L('=I=&@@86-C;VUP86YY
M:6YG('1E<W0@9&%T82P@(&1E;6]N<W1R871E<R!A(&)U9R!I;B!T:&4*(R!&
M:6QE.CI&:6YD(&UO9'5L92!I;B!P97)L-2XP,#%M(&]N(%-U;D]3(#0N>"P@
M=VAI8V@*(R!F:6YD<R!B;V=U<R!P871H<RX@(%1H92!P<F]B;&5M(&ES('1H
M870@(B1D:7(B(&ES('-O;65T:6UE<R!S970@=&\*(R!T:&4@<&%R96YT(&]F
M('1H92!C=7)R96YT(&1I<F5C=&]R>2P@<F%T:&5R('1H86X@=&AE(&-U<G)E
M;G0@9&ER96-T;W)Y"B,@:71S96QF+@HC"B,@4&QE87-E('-E92!T:&4@9FEL
M92!O=71P=70N879E<F$@9F]R('1H92!O=71P=70@22!G;W0@=VAE;B!)(')A
M;B!T:&ES+@HC"B,@+4II;2!!=F5R82 H879E<F% :&%L+F-O;2D@,3 O,3<O
M.34*(R *<F5Q=6ER92 U+C P,3L*=7-E('-T<FEC=#L*)'P@/2 Q.PH*=7-E
M($9I;&4Z.D9I;F0["@HC($EF(&YO(&%R9R!I<R!G:79E;BP@<V5A<F-H('1H
M92!S86UP;&4@9&ER96-T;W)Y('1R964@:6YC;'5D960@:6X@=&AE('1A<@HC
M(&%R8VAI=F4@8V]N=&%I;FEN9R!T:&ES(&1E;6\@<V-R:7!T+@II9B H0$%2
M1U8]/3 I('L@"B @(" H;7D@)'1O<&1I<B ]("0P*2 ]?B!S(R];7B]=*B0C
M(SL*(" @(&EF("@D=&]P9&ER("%^(&TC7B\C*2![(&-H;VUP*&UY("1W9#U@
M<'=D8"D[("1T;W!D:7(](B1W9"\D=&]P9&ER(CL@?0H@(" @)'1O<&1I<B ]
M?B!S(R]<+B\C+R-G.PH@(" @0$%21U8@/2 H(B1T;W!D:7(O=&5S=&1I<E]L
M979E;#$B*3L*?0H*<')I;G0@(BTM+2TM+2T@<F5S=6QT<R!O9B!R=6YN:6YG
M(')E86P@9FEN9" M+2TM+2TM7&XB.PIS>7-T96TH(F5X96,@,CXF,3L@<V5T
M("UX.R!F:6YD($!!4D=6("UP<FEN="(I.PH*"G!R:6YT("(M+2TM+2TM(')E
M<W5L=',@;V8@<&5R;"=S(&9I;F0@+2TM+2TM+5QN(CL*)F9I;F0H(%PF=V%N
M=&5D+"! 05)'5B I.PH*97AI=" P.PH*<W5B('=A;G1E9"!["@EC:&]M<"AM
M>2 D=V0@/2!@<'=D8"D["@H)<')I;G0@(B1M86EN.CID:7(O)%\B.PH)<')I
M;G0@(B J*D524D]2*BH@=V0@:7,@)'=D(B!U;FQE<W,@*"1W9"!E<2 D;6%I
M;CHZ9&ER*3L*"7!R:6YT(")<;B([."GT*
M
M
M
M
M
M
M
M &9I;F1B
M=6<N9"]T97-T9&ER7VQE=F5L,2\
M
M @(#$W-34@ " @,C8S-B (" Q-S4P( @(" @(" @(" @," @-C T
M,#<V-#<S,R @,3,V,#8 (#4
M
M =7-T87(@( !A=F5R80
M $AA3
M
M
M
M
M 9FEN9&)U9RYD+W1E<W1D:7)?;&5V96PQ+VQE=F5L,B\
M
M " @(#<U-2 (" R-C,V( @(#$W-3 @
M " @(" @(" @(" P(" V,#0P-S8T-S,S(" Q-#<U-@ @-0
M
M !U
M<W1A<B @ &%V97)A 2&%,
M
M
M
M
M !F:6YD8G5G+F0O=&5S=&1I
M<E]L979E;#$O;&5V96PR+VQE=F5L,R\
M (" @-S4U
M( @(#(V,S8@ " @,3<U," (" @(" @(" @(# @(#8P-# W-C0W,S,@(#$V
M,34P " U
M
M '5S=&%R(" 879E<F$
M !(84P
M
M
M
M
M &9I;F1B=6<N9"]T97-T9&ER7VQE=F5L,2]L979E;#(O;&5V96PS+V)A9&QI
M;FM?:6Y?;&5V96PS
M @(" W-S<@ " @,C8S-B (" Q-S4P( @(" @(" @(" @
M," @-C T,#<V-#<S,R @,C(U,3< (#)G+FXN9"YN
M
M =7-T87(@( !A=F5R
M80 $AA3
M
M
M
M
M 9FEN9&)U9RYD+W1E<W1D:7)?;&5V96PQ+VQE
M=F5L,B]F:6QE7VEN7VQE=F5L,@
M " @(#8T-" (" R-C,V( @
M(#$W-3 @ " @(" @(" @(" T(" V,#0P-S8P-#$U(" Q-S4T,@ @,
M
M
M !U<W1A<B @ &%V97)A
M2&%,
M
M
M
M !F;V\*
M
M
M
M
M
M
M
M
M
M
M
M &9I;F1B=6<N9"]T97-T9&ER7VQE=F5L,2]F:6QE7VEN7VQE=F5L
M,0
M @(" V-#0@ " @,C8S-B (" Q-S4P( @(" @
M(" @(" @-" @-C T,#<V,#0R," @,38S-#0 (#
M
M =7-T87(@
M( !A=F5R80 $AA3
M
M
M
M
M 8F%R"@
M
M
M
M
M
M
M
M
M
M
M !F:6YD
M8G5G+F0O;W5T<'5T+F%V97)A
M
M (" @-C0T( @(#(V,S8@ " @,3<U," (" @(" @(#$V,3$@(#8P
M-# W-C8Q-3,@(#$S,C<T " P
M
M '5S=&%R(" 879E<F$
M !(84P
M
M
M
M
M "TM+2TM+2T@<F5S=6QT<R!O9B!R=6YN:6YG(')E86P@
M9FEN9" M+2TM+2TM"BL@9FEN9" O;&]C86PO=&UP+V9I;F1B=6<N9"]T97-T
M9&ER7VQE=F5L,2 M<')I;G0@"B]L;V-A;"]T;7 O9FEN9&)U9RYD+W1E<W1D
M:7)?;&5V96PQ"B]L;V-A;"]T;7 O9FEN9&)U9RYD+W1E<W1D:7)?;&5V96PQ
M+VQE=F5L,@HO;&]C86PO=&UP+V9I;F1B=6<N9"]T97-T9&ER7VQE=F5L,2]L
M979E;#(O;&5V96PS"B]L;V-A;"]T;7 O9FEN9&)U9RYD+W1E<W1D:7)?;&5V
M96PQ+VQE=F5L,B]L979E;#,O8F%D;&EN:U]I;E]L979E;#,*+VQO8V%L+W1M
M<"]F:6YD8G5G+F0O=&5S=&1I<E]L979E;#$O;&5V96PR+V9I;&5?:6Y?;&5V
M96PR"B]L;V-A;"]T;7 O9FEN9&)U9RYD+W1E<W1D:7)?;&5V96PQ+V9I;&5?
M:6Y?;&5V96PQ"BTM+2TM+2T@<F5S=6QT<R!O9B!P97)L)W,@9FEN9" M+2TM
M+2TM"B]L;V-A;"]T;7 O9FEN9&)U9RYD+W1E<W1D:7)?;&5V96PQ+RX*+VQO
M8V%L+W1M<"]F:6YD8G5G+F0O=&5S=&1I<E]L979E;#$O;&5V96PR"B]L;V-A
M;"]T;7 O9FEN9&)U9RYD+W1E<W1D:7)?;&5V96PQ+VQE=F5L,R J*D524D]2
M*BH@=V0@:7,@+VQO8V%L+W1M<"]F:6YD8G5G+F0O=&5S=&1I<E]L979E;#$O
M;&5V96PR"B]L;V-A;"]T;7 O9FEN9&)U9RYD+W1E<W1D:7)?;&5V96PQ+V)A
M9&QI;FM?:6Y?;&5V96PS("HJ15)23U(J*B!W9"!I<R O;&]C86PO=&UP+V9I
M;F1B=6<N9"]T97-T9&ER7VQE=F5L,2]L979E;#(O;&5V96PS"B]L;V-A;"]T
M;7 O9FEN9&)U9RYD+W1E<W1D:7)?;&5V96PQ+V9I;&5?:6Y?;&5V96PR("HJ
M15)23U(J*B!W9"!I<R O;&]C86PO=&UP+V9I;F1B=6<N9"]T97-T9&ER7VQE
M=F5L,2]L979E;#(*+VQO8V%L+W1M<"]F:6YD8G5G+F0O=&5S=&1I<E]L979E
M;#$O9FEL95]I;E]L979E;#$*
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
9

end