mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 15:00:12 +00:00
OpenBSD 5.3: Replace use of copyinstr for setting mount point name.
As a result of a realignment of kernel memory in OpenBSD 5.3, the copyinstr() routine no longer works for copying the mount point name into the internal mount table structure. It also fails silently, so it's not noticed until someone looks at the mount table and discovers that the mount point name for AFS is missing. This patch replaces the use of copyinstr() with strlcpy() for copying the mount point name in OpenBSD 5.3. Note that this is consistent with how other similar device support has addressed the same issue in OpenBSD 5.3. Change-Id: I57619f989e51a8c1a320be7d451683b7c0abb7c1 Reviewed-on: http://gerrit.openafs.org/9752 Reviewed-by: Derrick Brashear <shadow@your-file-system.com> Tested-by: BuildBot <buildbot@rampaginggeek.com>
This commit is contained in:
parent
31d73b7e43
commit
b39461fc67
@ -245,8 +245,13 @@ afs_mount(mp, path, data, ndp, p)
|
||||
mp->osi_vfs_fsid.val[0] = AFS_VFSMAGIC; /* magic */
|
||||
mp->osi_vfs_fsid.val[1] = (int)AFS_VFSFSID;
|
||||
|
||||
#if defined(AFS_OBSD53_ENV)
|
||||
bzero(mp->mnt_stat.f_mntonname, MNAMELEN);
|
||||
strlcpy(mp->mnt_stat.f_mntonname, path, MNAMELEN);
|
||||
#else
|
||||
(void)copyinstr(path, mp->mnt_stat.f_mntonname, MNAMELEN - 1, &size);
|
||||
bzero(mp->mnt_stat.f_mntonname + size, MNAMELEN - size);
|
||||
#endif
|
||||
bzero(mp->mnt_stat.f_mntfromname, MNAMELEN);
|
||||
strcpy(mp->mnt_stat.f_mntfromname, "AFS");
|
||||
/* null terminated string "AFS" will fit, just leave it be. */
|
||||
|
Loading…
Reference in New Issue
Block a user