20 lines
695 B
Diff
20 lines
695 B
Diff
--- sys/kern/vfs_mount.c.orig
|
|
+++ sys/kern/vfs_mount.c
|
|
@@ -603,7 +603,7 @@
|
|
*/
|
|
fstypelen = 0;
|
|
error = vfs_getopt(optlist, "fstype", (void **)&fstype, &fstypelen);
|
|
- if (error || fstype[fstypelen - 1] != '\0') {
|
|
+ if (error || fstypelen <= 0 || fstype[fstypelen - 1] != '\0') {
|
|
error = EINVAL;
|
|
if (errmsg != NULL)
|
|
strncpy(errmsg, "Invalid fstype", errmsg_len);
|
|
@@ -611,7 +611,7 @@
|
|
}
|
|
fspathlen = 0;
|
|
error = vfs_getopt(optlist, "fspath", (void **)&fspath, &fspathlen);
|
|
- if (error || fspath[fspathlen - 1] != '\0') {
|
|
+ if (error || fspathlen <= 0 || fspath[fspathlen - 1] != '\0') {
|
|
error = EINVAL;
|
|
if (errmsg != NULL)
|
|
strncpy(errmsg, "Invalid fspath", errmsg_len);
|