* fts-cycle.c (leave_dir): When "leaving" a top level directory due
authorJim Meyering <jim@meyering.net>
Mon, 9 Oct 2006 12:15:39 +0000 (12:15 +0000)
committerJim Meyering <jim@meyering.net>
Mon, 9 Oct 2006 12:15:39 +0000 (12:15 +0000)
to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d

lib/ChangeLog
lib/fts-cycle.c

index cd9787bae02e98d32998d561ecd8789406077bcd..2f680fc3fd18eb74281b2fe6a0192651503c7d77 100644 (file)
@@ -1,3 +1,9 @@
+2006-10-09  Jim Meyering  <jim@meyering.net>
+
+       * fts-cycle.c (leave_dir): When "leaving" a top level directory due
+       to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
+       Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
+
 2006-10-09  Jim Meyering  <jim@meyering.net>
 
        * lchown.c: Include <sys/stat.h> before "stat-macros.h".
index 8edf26ee4d5c90deb79390d95b75825d9c5485b9..669db58f55b18f0821a2f1259b8aa323de295e42 100644 (file)
@@ -140,7 +140,7 @@ leave_dir (FTS *fts, FTSENT *ent)
   else
     {
       FTSENT *parent = ent->fts_parent;
-      if (parent != NULL)
+      if (parent != NULL && 0 <= parent->fts_level)
        CYCLE_CHECK_REFLECT_CHDIR_UP (fts->fts_cycle.state,
                                      *(parent->fts_statp), *st);
     }