⬢ DragonFlyBSD Kernel Audit
DF-3131 / fix.diff
← back to finding ↓ download raw
--- a/sys/vfs/msdosfs/msdosfs_vfsops.c
+++ b/sys/vfs/msdosfs/msdosfs_vfsops.c
@@ -278,9 +278,13 @@ msdosfs_mount(struct mount *mp, char *path, caddr_t data, struct ucred *cred)
 		return (error);
 	}
 
-	copyinstr(args.fspec, mp->mnt_stat.f_mntfromname, MNAMELEN - 1, &size);
+	error = copyinstr(args.fspec, mp->mnt_stat.f_mntfromname,
+			  MNAMELEN - 1, &size);
+	if (error)
+		return (error);
 	memset(mp->mnt_stat.f_mntfromname + size, 0, MNAMELEN - size);
 	msdosfs_statfs(mp, &mp->mnt_stat, cred);