From patchwork Thu Nov 3 15:29:14 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever X-Patchwork-Id: 123461 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from acsinet15.oracle.com (acsinet15.oracle.com [141.146.126.227]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "acsinet15.oracle.com", Issuer "VeriSign Class 3 International Server CA - G3" (verified OK)) by ozlabs.org (Postfix) with ESMTPS id 80E77B6F72 for ; Fri, 4 Nov 2011 02:29:32 +1100 (EST) Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by acsinet15.oracle.com (Switch-3.4.4/Switch-3.4.4) with ESMTP id pA3FTOV2006468 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 3 Nov 2011 15:29:25 GMT Received: from oss.oracle.com (oss.oracle.com [141.146.12.120]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id pA3FTOix018301 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 3 Nov 2011 15:29:24 GMT Received: from localhost ([127.0.0.1] helo=oss.oracle.com) by oss.oracle.com with esmtp (Exim 4.63) (envelope-from ) id 1RLzEF-0001lP-7i; Thu, 03 Nov 2011 08:29:19 -0700 Received: from acsinet13.oracle.com ([141.146.126.235]) by oss.oracle.com with esmtp (Exim 4.63) (envelope-from ) id 1RLzEE-0001lI-51 for fedfs-utils-devel@oss.oracle.com; Thu, 03 Nov 2011 08:29:18 -0700 Received: from mail-qw0-f43.google.com (mail-qw0-f43.google.com [209.85.216.43]) by acsinet13.oracle.com (Switch-3.4.4/Switch-3.4.4) with ESMTP id pA3FS6DM015462 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=FAIL) for ; Thu, 3 Nov 2011 15:29:17 GMT Received: by mail-qw0-f43.google.com with SMTP id g1so1528086qab.2 for ; Thu, 03 Nov 2011 08:29:17 -0700 (PDT) Received: by 10.224.194.137 with SMTP id dy9mr4901706qab.65.1320334157551; Thu, 03 Nov 2011 08:29:17 -0700 (PDT) Received: from degas.1015granger.net ([99.26.161.222]) by mx.google.com with ESMTPS id ha3sm6337631qab.2.2011.11.03.08.29.15 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 03 Nov 2011 08:29:16 -0700 (PDT) From: Chuck Lever To: fedfs-utils-devel@oss.oracle.com Date: Thu, 03 Nov 2011 11:29:14 -0400 Message-ID: <20111103152914.2445.75529.stgit@degas.1015granger.net> In-Reply-To: <20111103152051.2445.69747.stgit@degas.1015granger.net> References: <20111103152051.2445.69747.stgit@degas.1015granger.net> User-Agent: StGIT/0.14.3 MIME-Version: 1.0 X-Flow-Control-Info: class=ISPs ip=209.85.216.43 ct-class=R6 ct-vol1=0 ct-vol2=0 ct-vol3=0 ct-risk=68 ct-spam1=0 ct-spam2=0 ct-bulk=0 rcpts=1 size=893 Subject: [fedfs-utils] [PATCH 7/7] libjunction: fedfs_save_mode() leaks an open file descriptor X-BeenThere: fedfs-utils-devel@oss.oracle.com X-Mailman-Version: 2.1.9 Precedence: list Reply-To: fedfs-utils Developers List-Id: fedfs-utils Developers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: fedfs-utils-devel-bounces@oss.oracle.com Errors-To: fedfs-utils-devel-bounces@oss.oracle.com X-Source-IP: acsinet22.oracle.com [141.146.126.238] X-CT-RefId: str=0001.0A090207.4EB2B358.00DB:SCFSTAT1119972, ss=1, re=-4.000, fgs=0 X-Auth-Type: Internal IP Make sure the file descriptor opened by fedfs_open_path() is closed before fedfs_save_mode() returns. This bug would cause a leaked open file descriptor for every junction created by rpc.fedfsd. Signed-off-by: Chuck Lever --- src/libjunction/junction.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libjunction/junction.c b/src/libjunction/junction.c index 73aa779..fa5fa7b 100644 --- a/src/libjunction/junction.c +++ b/src/libjunction/junction.c @@ -657,8 +657,10 @@ fedfs_save_mode(const char *pathname) (void)snprintf(buf, sizeof(buf), "%o", ALLPERMS & stb.st_mode); - return fedfs_set_xattr(fd, pathname, FEDFSD_XATTR_NAME_MODE, - buf, strlen(buf)); + retval = fedfs_set_xattr(fd, pathname, FEDFSD_XATTR_NAME_MODE, + buf, strlen(buf)); + (void)close(fd); + return retval; } /**