[fedfs-utils] Fwd: [PATCH fedfs-utils] nfsref: fix a segmentation fault when lookup a junction

Chuck Lever chuck.lever at oracle.com
Fri Jun 6 06:57:59 PDT 2014


To the correct mailing list.

Begin forwarded message:

> From: Chuck Lever <chuck.lever at oracle.com>
> Subject: Re: [PATCH fedfs-utils] nfsref: fix a segmentation fault when lookup a junction
> Date: June 6, 2014 at 9:52:42 AM EDT
> To: Ditang Chen <chendt.fnst at cn.fujitsu.com>
> Cc: fedfs-utils-devel-request at oss.oracle.com
> 
> Hi Ditang-
> 
> On Jun 6, 2014, at 4:18 AM, Ditang Chen <chendt.fnst at cn.fujitsu.com> wrote:
> 
>> 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=<optimized out>) at lookup.c:364
>> #1  nfsref_lookup_nfs_fedfs (junct_path=<optimized out>) at lookup.c:483
>> #2  0x0000000000403cf9 in main (argc=3, argv=0x7fff69dea5e8) at nfsref.c:181
> 
> Yep, that’s a bug, and FEDFS_ERR_NSDB_NOFSN is the correct error to return.
> 
> However, can you copy the logic at the end of nsdb_resolve_fsn_find_entry_s()
> instead?
> 
>> Signed-off-by: chendt.fnst at cn.fujitsu.com
>> ---
>> src/libnsdb/fileserver.c | 3 +++
>> 1 file changed, 3 insertions(+)
>> 
>> diff --git a/src/libnsdb/fileserver.c b/src/libnsdb/fileserver.c
>> index 965f1a1..602f469 100644
>> --- a/src/libnsdb/fileserver.c
>> +++ b/src/libnsdb/fileserver.c
>> @@ -1526,6 +1526,9 @@ nsdb_get_fsn_find_entry_s(nsdb_t host, const char *nce, const char *fsn_uuid,
>> 	}
>> 	ldap_msgfree(response);
>> 
>> +	if (tmp == NULL)
>> +		return FEDFS_ERR_NSDB_NOFSN;
>> +
>> 	if (retval == FEDFS_OK) {
>> 		xlog(D_CALL, "%s: returning fsn", __func__);
>> 		*fsn = tmp;
>> -- 
>> 1.8.4.2
> 
> --
> Chuck Lever
> chuck[dot]lever[at]oracle[dot]com
> 
> 
> 

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com






More information about the fedfs-utils-devel mailing list