From patchwork Tue Jul 8 16:47:16 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chuck Lever X-Patchwork-Id: 367945 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 22B4214009C for ; Wed, 9 Jul 2014 02:47:39 +1000 (EST) Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s68GlYXY004451 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 8 Jul 2014 16:47:35 GMT Received: from oss.oracle.com (oss-external.oracle.com [137.254.96.51]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s68GlXNN014599 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 8 Jul 2014 16:47:33 GMT Received: from localhost ([127.0.0.1] helo=oss.oracle.com) by oss.oracle.com with esmtp (Exim 4.63) (envelope-from ) id 1X4YYH-0005fy-54; Tue, 08 Jul 2014 09:47:33 -0700 Received: from ucsinet22.oracle.com ([156.151.31.94]) by oss.oracle.com with esmtp (Exim 4.63) (envelope-from ) id 1X4YY7-0005fV-NK for fedfs-utils-devel@oss.oracle.com; Tue, 08 Jul 2014 09:47:23 -0700 Received: from aserp1020.oracle.com (aserp1020.oracle.com [141.146.126.67]) by ucsinet22.oracle.com (8.14.5+Sun/8.14.5) with ESMTP id s68GlMQl003949 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Tue, 8 Jul 2014 16:47:23 GMT Received: from mail-ie0-f172.google.com (mail-ie0-f172.google.com [209.85.223.172]) by aserp1020.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s68GlIAY003152 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Tue, 8 Jul 2014 16:47:19 GMT Authentication-Results: aserp1020.oracle.com; dkim=pass reason="2048-bit key" header.d=gmail.com header.i=@gmail.com header.b=r1nLiDkp Received: by mail-ie0-f172.google.com with SMTP id rd18so5189716iec.31 for ; Tue, 08 Jul 2014 09:47:18 -0700 (PDT) X-Received: by 10.50.23.16 with SMTP id i16mr5310746igf.24.1404838038728; Tue, 08 Jul 2014 09:47:18 -0700 (PDT) Received: from seurat.1015granger.net ([2604:8800:100:81fc:20c:29ff:fe44:ec31]) by mx.google.com with ESMTPSA id d10sm6868987igz.11.2014.07.08.09.47.17 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 08 Jul 2014 09:47:17 -0700 (PDT) To: fedfs-utils-devel@oss.oracle.com From: Chuck Lever Date: Tue, 08 Jul 2014 12:47:16 -0400 Message-ID: <20140708164716.15173.17257.stgit@seurat.1015granger.net> In-Reply-To: <20140708164321.15173.95061.stgit@seurat.1015granger.net> References: <20140708164321.15173.95061.stgit@seurat.1015granger.net> User-Agent: StGit/0.16 MIME-Version: 1.0 X-Flow-Control-Info: class=Pass-to-MM reputation=ipRisk-All ip=209.85.223.172 ct-class=R5 ct-vol1=-92 ct-vol2=8 ct-vol3=7 ct-risk=43 ct-spam1=67 ct-spam2=7 ct-bulk=6 rcpts=1 size=1569 X-Sendmail-CM-Score: 0.00% X-Sendmail-CM-Analysis: v=2.1 cv=dNafxopb c=1 sm=1 tr=0 a=RPZgViSN43jj7cy/UnIhow==:117 a=dzsqy3y4QnMA:10 a=rnSc9oIw-vIA:10 a=dPGociXpb70A:10 a=IkcTkHD0fZMA:10 a=xqWC_Br6kY4A:10 a=yPCof4ZbAAAA:8 a=Lb1rMZzfAAAA:8 a=1XWaLZrsAAAA:8 a=omOdbC7AAAAA:8 a=OK-8mIdLAAAA:8 a=y88pwZsUEcnxwoCL-eYA:9 a=QEXdDO2ut3YA:10 a=7DSvI1NPTFQA:10 X-Sendmail-CT-RefID: str=0001.0A090207.53BC2097.010B, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-Sendmail-CT-Classification: not spam Subject: [fedfs-utils] [PATCH 1/4] nfsref: fix a segmentation fault when lookup a junction 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] From: Ditang Chen Can not retrieve FSN with the fsn_uuid when lookup a junction,the entries is 1 and the 'tmp' pointer to NULL. # ls -l total 8 d--------T 2 root root 4096 Jun 4 07:05 s2 # nsdb-list NSDB: ldap.example.net:389 NCE ou=fedfs,dc=example,dc=net has no FSN records # nfsref lookup s2 Segmentation fault (gdb) bt #0 0x0000000000404eb0 in nfsref_lookup_resolve_fsn (host=0x118d630, fsn_uuid=) at lookup.c:364 #1 nfsref_lookup_nfs_fedfs (junct_path=) at lookup.c:483 #2 0x0000000000403cf9 in main (argc=3, argv=0x7fff69dea5e8) at nfsref.c:181 Fixes: c02e7770 (libnsdb: Add nsdb_get_fsn()) Signed-off-by: chendt.fnst@cn.fujitsu.com Signed-off-by: Chuck Lever --- src/libnsdb/fileserver.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/libnsdb/fileserver.c b/src/libnsdb/fileserver.c index a96078d15210..d98f97e369c3 100644 --- a/src/libnsdb/fileserver.c +++ b/src/libnsdb/fileserver.c @@ -1566,8 +1566,14 @@ nsdb_get_fsn_find_entry_s(nsdb_t host, const char *nce, const char *fsn_uuid, ldap_msgfree(response); if (retval == FEDFS_OK) { - xlog(D_CALL, "%s: returning fsn", __func__); - *fsn = tmp; + if (tmp == NULL) { + xlog(D_CALL, "%s: No FSN entries for FSN UUID %s", + __func__, fsn_uuid); + retval = FEDFS_ERR_NSDB_NOFSN; + } else { + xlog(D_CALL, "%s: returning fsn", __func__); + *fsn = tmp; + } } else nsdb_free_fedfs_fsn(tmp); return retval;