summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_mount.c
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2013-01-04 11:11:12 +0000
committerdavidxu <davidxu@FreeBSD.org>2013-01-04 11:11:12 +0000
commitab8145269bd43bc205494656c3326057e79d7370 (patch)
tree963f4442d677be70adc72b8bb568dc910a6c1015 /sys/kern/vfs_mount.c
parentc5bbd70553e4ee8f555b3d52f696c552e476841b (diff)
downloadFreeBSD-src-ab8145269bd43bc205494656c3326057e79d7370.zip
FreeBSD-src-ab8145269bd43bc205494656c3326057e79d7370.tar.gz
Revert revision 244760 because strncpy pads trailing space with zero,
this prevents kernel data from being leaked. Noticed by: Joerg Sonnenberger &lt; joerg at britannica dot bec dot de &gt;
Diffstat (limited to 'sys/kern/vfs_mount.c')
-rw-r--r--sys/kern/vfs_mount.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c
index 50af90a..3f10669 100644
--- a/sys/kern/vfs_mount.c
+++ b/sys/kern/vfs_mount.c
@@ -559,7 +559,7 @@ vfs_donmount(struct thread *td, uint64_t fsflags, struct uio *fsoptions)
if (error || fstype[fstypelen - 1] != '\0') {
error = EINVAL;
if (errmsg != NULL)
- strlcpy(errmsg, "Invalid fstype", errmsg_len);
+ strncpy(errmsg, "Invalid fstype", errmsg_len);
goto bail;
}
fspathlen = 0;
@@ -567,7 +567,7 @@ vfs_donmount(struct thread *td, uint64_t fsflags, struct uio *fsoptions)
if (error || fspath[fspathlen - 1] != '\0') {
error = EINVAL;
if (errmsg != NULL)
- strlcpy(errmsg, "Invalid fspath", errmsg_len);
+ strncpy(errmsg, "Invalid fspath", errmsg_len);
goto bail;
}
@@ -1447,7 +1447,7 @@ vfs_filteropt(struct vfsoptlist *opts, const char **legal)
if (ret != 0) {
TAILQ_FOREACH(opt, opts, link) {
if (strcmp(opt->name, "errmsg") == 0) {
- strlcpy((char *)opt->value, errmsg, opt->len);
+ strncpy((char *)opt->value, errmsg, opt->len);
break;
}
}
OpenPOWER on IntegriCloud