From: Jim Meyering Date: Thu, 10 Jul 2003 10:59:47 +0000 (+0000) Subject: (change_file_owner): Don't leak file descriptors when dereferencing symlinks. X-Git-Tag: v5.0.1~136 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e2e3a9a41ccd404c2d1fe25e851d8f9bd5091414;p=thirdparty%2Fcoreutils.git (change_file_owner): Don't leak file descriptors when dereferencing symlinks. --- diff --git a/src/chown-core.c b/src/chown-core.c index b38efaa895..a46dd7ef77 100644 --- a/src/chown-core.c +++ b/src/chown-core.c @@ -1,5 +1,5 @@ /* chown-core.c -- core functions for changing ownership. - Copyright (C) 2000, 2002 Free Software Foundation. + Copyright (C) 2000, 2002, 2003 Free Software Foundation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -295,6 +295,8 @@ change_file_owner (int cmdline_arg, const char *file, uid_t uid, gid_t gid, file and use fchown on the resulting descriptor. */ int fd = open (file, O_RDONLY | O_NONBLOCK | O_NOCTTY); fail = (fd == -1 ? 1 : fchown (fd, new_uid, new_gid)); + if (fd != -1) + close (fd); } else {