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

Chuck Lever chuck.lever at oracle.com
Mon Jun 9 09:16:16 PDT 2014


Hi Ditang-

On Jun 8, 2014, at 9:42 PM, 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

Thanks, pulled this one for testing and further review.

> Signed-off-by: chendt.fnst at cn.fujitsu.com

Just a nit: my git tool chain didn’t like your signed-off because
it had only an email address. Can you use

  Signed-off-by: Ditang Chen <chendt.fnst at cn.fujitsu.com>

for future submissions?

May I fix up this patch with the longer Signed-off-by: ?


> ---
> 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 965f1a1..0899f00 100644
> --- a/src/libnsdb/fileserver.c
> +++ b/src/libnsdb/fileserver.c
> @@ -1527,8 +1527,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;
> -- 
> 1.8.4.2
> 

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






More information about the fedfs-utils-devel mailing list