Hi,

In current nfsmount, two tests of the mount result version are out of
sync. The test in nfs_call_mount() tests the mnt_server->pmap.pm_vers to
decide what mount function (v2 or v3) to call, but later in nfsmount(),
(nfs_pmap->pm_vers == 2) condition is used to decide about the result
format, which is wrong. The result then can be misinterpreted, causing
a segfault, when mnt_pmap->pm_vers==2 and nfs_pmap->pm_vers>2, and
nfsmount tries to read the auth flavors.

Trivial fix is attached.

Regards,
-- 
Jindrich Makovicka
--- nfsmount.c.orig	2007-10-19 05:07:28.000000000 +0200
+++ nfsmount.c	2008-02-15 23:43:32.000000000 +0100
@@ -714,7 +714,7 @@
 			rpc_mount_errors(*nfs_server.hostname, 1, bg);
 	}
 
-	if (nfs_pmap->pm_vers == 2) {
+	if (mnt_pmap->pm_vers <= 2) {
 		if (mntres.nfsv2.fhs_status != 0) {
 			nfs_error(_("%s: %s:%s failed, reason given by server: %s"),
 					progname, hostname, dirname,

Reply via email to