⬢ DragonFlyBSD Kernel Audit
DF-3222 / fix.diff
← back to finding ↓ download raw
--- a/sys/vfs/dirfs/dirfs_vfsops.c
+++ b/sys/vfs/dirfs/dirfs_vfsops.c
@@ -126,13 +126,8 @@ dirfs_mount(struct mount *mp, char *path, caddr_t data, struct ucred *cred)
 	error = copyinstr(data, &dmp->dm_path, MAXPATHLEN, &done);
 	if (error) {
-		/* Attempt to copy from kernel address */
-		error = copystr(data, &dmp->dm_path, MAXPATHLEN, &done);
-		if (error) {
-			kfree(dmp, M_DIRFS);
-			goto failure;
-		}
+		kfree(dmp, M_DIRFS);
+		goto failure;
 	}
 
 	/* Strip / character at the end to avoid problems */