From: Jim Meyering Date: Mon, 13 Sep 2010 05:29:18 +0000 (+0200) Subject: fts: don't operate on an invalid file descriptor after failed dup X-Git-Tag: v0.1~3816 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=40af2cd5c8a49d2eaaaf6c0cd54ce0198282f9fa;p=gnulib.git fts: don't operate on an invalid file descriptor after failed dup * lib/fts.c (fts_build): Don't call set_cloexec_flag on a negative file descriptor. --- diff --git a/ChangeLog b/ChangeLog index 8e6c3c23b..9910da220 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-09-13 Jim Meyering + + fts: don't operate on an invalid file descriptor after failed dup + * lib/fts.c (fts_build): Don't call set_cloexec_flag on a + negative file descriptor. + 2010-09-12 Paul Eggert savedir: add streamsavedir, deprecate fdsavedir diff --git a/lib/fts.c b/lib/fts.c index a308a8c94..4b89ee780 100644 --- a/lib/fts.c +++ b/lib/fts.c @@ -1305,7 +1305,8 @@ fts_build (register FTS *sp, int type) if (ISSET(FTS_CWDFD) && 0 <= dir_fd) { dir_fd = dup (dir_fd); - set_cloexec_flag (dir_fd, true); + if (0 <= dir_fd) + set_cloexec_flag (dir_fd, true); } if (dir_fd < 0 || fts_safe_changedir(sp, cur, dir_fd, NULL)) { if (nlinks && type == BREAD)