From 40af2cd5c8a49d2eaaaf6c0cd54ce0198282f9fa Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 13 Sep 2010 07:29:18 +0200 Subject: 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. --- lib/fts.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/fts.c') diff --git a/lib/fts.c b/lib/fts.c index a308a8c94e..4b89ee780b 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) -- cgit v1.2.1