From patchwork Mon Dec 5 17:23:37 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever X-Patchwork-Id: 129377 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from rcsinet15.oracle.com (rcsinet15.oracle.com [148.87.113.117]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "rcsinet15.oracle.com", Issuer "VeriSign Class 3 International Server CA - G3" (verified OK)) by ozlabs.org (Postfix) with ESMTPS id 2BBA61007D4 for ; Tue, 6 Dec 2011 04:23:52 +1100 (EST) Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by rcsinet15.oracle.com (Switch-3.4.4/Switch-3.4.4) with ESMTP id pB5HNkHo022706 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 5 Dec 2011 17:23:47 GMT Received: from oss.oracle.com (oss.oracle.com [141.146.12.120]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id pB5HNkEN006137 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 5 Dec 2011 17:23:46 GMT Received: from localhost ([127.0.0.1] helo=oss.oracle.com) by oss.oracle.com with esmtp (Exim 4.63) (envelope-from ) id 1RXcGT-0003gn-01; Mon, 05 Dec 2011 09:23:41 -0800 Received: from rcsinet12.oracle.com ([148.87.113.124]) by oss.oracle.com with esmtp (Exim 4.63) (envelope-from ) id 1RXcGR-0003gg-UY for fedfs-utils-devel@oss.oracle.com; Mon, 05 Dec 2011 09:23:40 -0800 Received: from mail-iy0-f171.google.com (mail-iy0-f171.google.com [209.85.210.171]) by rcsinet12.oracle.com (Sentrion-MTA-4.2.0/Sentrion-MTA-4.2.0) with ESMTP id pB5HNMiE013366 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Mon, 5 Dec 2011 17:23:39 GMT Received: by mail-iy0-f171.google.com with SMTP id n33so9415714iae.2 for ; Mon, 05 Dec 2011 09:23:39 -0800 (PST) Received: by 10.231.84.14 with SMTP id h14mr2693744ibl.13.1323105819289; Mon, 05 Dec 2011 09:23:39 -0800 (PST) Received: from degas.1015granger.net (adsl-99-26-161-222.dsl.sfldmi.sbcglobal.net. [99.26.161.222]) by mx.google.com with ESMTPS id wo4sm43745709igc.5.2011.12.05.09.23.38 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 05 Dec 2011 09:23:38 -0800 (PST) From: Chuck Lever To: fedfs-utils-devel@oss.oracle.com Date: Mon, 05 Dec 2011 12:23:37 -0500 Message-ID: <20111205172337.7753.77748.stgit@degas.1015granger.net> In-Reply-To: <20111205171929.7753.36203.stgit@degas.1015granger.net> References: <20111205171929.7753.36203.stgit@degas.1015granger.net> User-Agent: StGIT/0.14.3 MIME-Version: 1.0 Subject: [fedfs-utils] [PATCH 4/9] fedfsd: don't return freed memory through **pathname parameter, ... 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: acsinet21.oracle.com [141.146.126.237] X-CT-RefId: str=0001.0A090201.4EDCFE23.016C:SCFSTAT1119972, ss=1, re=-4.000, fgs=0 X-Auth-Type: Internal IP From: Jim Meyering even though upon error it will not be used. * src/fedfsd/svc.c (fedfsd_pathwalk): On an error path, don't set *pathname at all, and certainly not to a just-freed pointer. Spotted by coverity. Introduced by commit 0520ee72: "Initial commit," (March 29, 2011). Signed-off-by: Jim Meyering --- src/fedfsd/svc.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/fedfsd/svc.c b/src/fedfsd/svc.c index bbe1fa1..8ba6468 100644 --- a/src/fedfsd/svc.c +++ b/src/fedfsd/svc.c @@ -316,10 +316,12 @@ fedfsd_pathwalk(const FedFsPathName fpath, char **pathname) xlog(D_CALL, "%s: Zero-component pathname", __func__); strcat(result, "/"); retval = fedfsd_pathwalk_check_term(result); - if (retval != FEDFS_OK) + if (retval != FEDFS_OK) { free(result); + return retval; + } *pathname = result; - return retval; + return FEDFS_OK; } for (i = 0; i < fpath.FedFsPathName_len; i++) {