1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-16 10:24:59 +00:00

Kernel: Add file permission checks to link() syscall.

Also use the new name, not the old name, for the new link, duh.
This commit is contained in:
Andreas Kling 2019-02-21 17:05:04 +01:00
parent a624fe06b8
commit 19acb2baf7

View file

@ -350,8 +350,12 @@ bool VFS::link(const String& old_path, const String& new_path, Inode& base, int&
error = -EROFS;
return false;
}
if (!parent_inode->metadata().may_write(*current)) {
error = -EACCES;
return false;
}
if (!parent_inode->add_child(old_inode->identifier(), FileSystemPath(old_path).basename(), 0, error))
if (!parent_inode->add_child(old_inode->identifier(), FileSystemPath(new_path).basename(), 0, error))
return false;
error = 0;
return true;