]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/mount/stropts.c
The mount sockaddr len (mnt_salen) is not be set in
[nfs-utils.git] / utils / mount / stropts.c
index 6d44bb75791652b81a7b58d1b107a5124fd94747..c369136c702b93ae0c0937721943d54118cd9d1c 100644 (file)
@@ -232,7 +232,7 @@ static const char *nfs_lock_opttbl[] = {
 
 static int nfs_verify_lock_option(struct mount_options *options)
 {
-       if (po_rightmost(options, nfs_lock_opttbl) == 1)
+       if (po_rightmost(options, nfs_lock_opttbl) == 0)
                return 1;
 
        if (!start_statd()) {
@@ -331,9 +331,10 @@ static int nfs_extract_server_addresses(struct mount_options *options,
                return 0;
 
        option = po_get(options, "mountaddr");
-       if (option == NULL)
+       if (option == NULL) {
                memcpy(mnt_saddr, nfs_saddr, *nfs_salen);
-       else if (!nfs_string_to_sockaddr(option, strlen(option),
+               *mnt_salen = *nfs_salen;
+       } else if (!nfs_string_to_sockaddr(option, strlen(option),
                                                mnt_saddr, mnt_salen))
                return 0;
 
@@ -756,7 +757,7 @@ static int nfsmount_start(struct nfsmount_info *mi)
        if (!nfs_validate_options(mi))
                return EX_FAIL;
 
-       if (po_rightmost(mi->options, nfs_background_opttbl) == 1)
+       if (po_rightmost(mi->options, nfs_background_opttbl) == 0)
                return nfsmount_bg(mi);
        else
                return nfsmount_fg(mi);