1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 02:28:12 +00:00

Kernel: unlink() should not follow symlinks

This commit is contained in:
Andreas Kling 2020-01-10 12:51:05 +01:00
parent f026f0f4bb
commit b1ffde6199
2 changed files with 16 additions and 1 deletions

View file

@ -174,6 +174,20 @@ void test_open_create_device()
close(fd);
}
void test_unlink_symlink()
{
int rc = symlink("/proc/2/foo", "/tmp/linky");
if (rc < 0) {
perror("symlink");
ASSERT_NOT_REACHED();
}
rc = unlink("/tmp/linky");
if (rc < 0) {
perror("unlink");
fprintf(stderr, "Expected unlink() of a symlink into an unreadable directory to succeed!\n");
}
}
int main(int, char**)
{
int rc;
@ -196,6 +210,7 @@ int main(int, char**)
test_tmpfs_read_past_end();
test_procfs_read_past_end();
test_open_create_device();
test_unlink_symlink();
return 0;
}