There is a file descriptor leak in the 1.13.16 release of tar because of an opendir in dump_file in create.c which is not followed by a corresponding closedir. Here's a fix: --- create.c.orig Sun Jan 9 11:27:23 2000 +++ create.c Sun Jan 9 11:31:47 2000 @@ -1128,14 +1128,19 @@ assign_string (&save_name, 0); if (atime_preserve_option) utime (p, &restore_times); + if (closedir (directory) != 0) + closedir_error (p); return; } /* See if we are about to recurse into a directory, and avoid doing so if the user wants that we do not descend into directories. */ - if (no_recurse_option) + if (no_recurse_option) { + if (closedir (directory) != 0) + closedir_error (p); return; + } /* See if we are crossing from one file system to another, and avoid doing so if the user only wants to dump one file system. */ @@ -1146,6 +1151,8 @@ if (verbose_option) WARN ((0, 0, _("%s is on a different filesystem; not dumped"), quote (p))); + if (closedir (directory) != 0) + closedir_error (p); return; }
Thanks, fixed in 1.13.17-1