summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Landley2005-08-30 17:07:49 +0000
committerRob Landley2005-08-30 17:07:49 +0000
commit9a643149def4bcfe046ddc7863e315b217c7dc04 (patch)
tree714d4752ffc979afd89a05bc222cb499d4094e7c
parentcc8885f6f336e6901791dbb082fdc31957303f0a (diff)
downloadbusybox-9a643149def4bcfe046ddc7863e315b217c7dc04.zip
busybox-9a643149def4bcfe046ddc7863e315b217c7dc04.tar.gz
Amir Shalem found some bugs in the new mount code; unknown options didn't get
added to the list, and my assumption that nfsmount() actually called mount() was incorrect (and I coded it wrong anyway; I hate having to touch codepaths I can't personally test).
-rw-r--r--util-linux/mount.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/util-linux/mount.c b/util-linux/mount.c
index 35866ea..05f25a7 100644
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -99,12 +99,12 @@ static void parse_mount_options(char *options, int *flags, char **strflags)
}
}
// Unrecognized mount option?
- if(i == sizeof(mount_options)) {
+ if(i == (sizeof(mount_options) / sizeof(*mount_options))) {
// Add it to strflags, to pass on to kernel
i = *strflags ? strlen(*strflags) : 0;
*strflags = xrealloc(*strflags, i+strlen(options)+2);
// Comma separated if it's not the first one
- if(i) (*strflags)[i] = ',';
+ if(i) (*strflags)[i++] = ',';
strcpy((*strflags)+i, options);
}
// Advance to next option, or finish
@@ -286,6 +286,8 @@ singlemount:
else {
rc = 0;
fsType="nfs";
+ // Strangely enough, nfsmount() doesn't actually mount()
+ goto mount_it_now;
}
} else {