From 9dd8da86ee4466eb7e0035d0d1b20bd5d10bac32 Mon Sep 17 00:00:00 2001 From: das Date: Wed, 4 Mar 2009 03:30:21 +0000 Subject: Fix a file descriptor leak in fts_child(). Obtained from: NetBSD --- lib/libc/gen/fts.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/libc/gen') diff --git a/lib/libc/gen/fts.c b/lib/libc/gen/fts.c index ced205b..41443c5 100644 --- a/lib/libc/gen/fts.c +++ b/lib/libc/gen/fts.c @@ -570,8 +570,10 @@ fts_children(sp, instr) if ((fd = _open(".", O_RDONLY, 0)) < 0) return (NULL); sp->fts_child = fts_build(sp, instr); - if (fchdir(fd)) + if (fchdir(fd)) { + (void)_close(fd); return (NULL); + } (void)_close(fd); return (sp->fts_child); } -- cgit v1.1