--- a/sys/kern/vfs_conf.c +++ b/sys/kern/vfs_conf.c @@ -399,6 +399,7 @@ char patt[32]; const char *cp, *ep; char *mf; + size_t seglen; struct proc *p; struct vnode *vp; @@ -424,7 +425,10 @@ bzero(vfsname, MFSNAMELEN); bzero(devname, MNAMELEN); bzero(mf, MFSNAMELEN+MNAMELEN); - strncpy(mf, cp, MFSNAMELEN+MNAMELEN); + seglen = (size_t)(ep - cp); + if (seglen >= MFSNAMELEN+MNAMELEN) + seglen = MFSNAMELEN+MNAMELEN - 1; + bcopy(cp, mf, seglen); vfsname[0] = devname[0] = 0; ksprintf(patt, "%%%d[a-z0-9]:%%%ds", MFSNAMELEN, MNAMELEN);