Mikulas Patocka <[EMAIL PROTECTED]> wrote:
> I got this message from du from coreutils 5.2.1:
>
> du: fts_read failed: No such file or directory
> *** glibc detected *** corrupted double-linked list: 0x0806c390 ***
>
> I was sometimes able reproduce on an AFS filesystem. It turned out that
> AFS filesystem changes inode numbers or device numbers, so
> fts_safe_changedir called at the end of fts_read fails. fts_read sets
> FTS_STOP, returns NULL and lets fts_cur to point to just freed entry few
> lines above (free(tmp)). The next call to fts_close will do a double-free.
>
> This patch fixes the problem in this situation (and other possible
> scenarios resulting from various syscalls failing) --- however you should
> better go through the whole code for handling of fts tree and check it.

Thanks for the report and patch.
That bug was fixed almost exactly a year ago (see the 1.20->1.21 delta
of fts.c for a slightly different change).

The latest test release is here:
  ftp://alpha.gnu.org/gnu/coreutils/coreutils-5.90.tar.gz
  ftp://alpha.gnu.org/gnu/coreutils/coreutils-5.90.tar.bz2

Or check it out from CVS:
  http://savannah.gnu.org/cvs/?group=coreutils


_______________________________________________
Bug-coreutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-coreutils

Reply via email to