From 015f4df218bdc19f28320e7ff55bdb85cf67b8a0 Mon Sep 17 00:00:00 2001 From: Don Lewis Date: Wed, 25 May 2016 06:55:53 +0000 Subject: [PATCH] Fix 1016718 Resource leak. Don't leak a file descriptor if fchdir() fails. Reported by: Coverity CID: 1016718 MFC after: 1 week --- lib/libc/gen/fts-compat.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/libc/gen/fts-compat.c b/lib/libc/gen/fts-compat.c index cf1daeffded..c34a281cfe3 100644 --- a/lib/libc/gen/fts-compat.c +++ b/lib/libc/gen/fts-compat.c @@ -573,8 +573,10 @@ __fts_children_44bsd(FTS *sp, int instr) if ((fd = _open(".", O_RDONLY | O_CLOEXEC, 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); }