From 520eedb829b8be2cdf7864b47b53584fbb77e63b Mon Sep 17 00:00:00 2001 From: Alexander Senier Date: Tue, 4 Jul 2017 21:11:57 +0200 Subject: [PATCH] libc: Signal ELOOP if file not found and O_NOFOLLOW set --- repos/libports/src/lib/libc/vfs_plugin.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/repos/libports/src/lib/libc/vfs_plugin.cc b/repos/libports/src/lib/libc/vfs_plugin.cc index 6b090208a1..861e25037b 100644 --- a/repos/libports/src/lib/libc/vfs_plugin.cc +++ b/repos/libports/src/lib/libc/vfs_plugin.cc @@ -222,6 +222,10 @@ Libc::File_descriptor *Libc::Vfs_plugin::open(char const *path, int flags, case Result::OPEN_ERR_UNACCESSIBLE: { if (!(flags & O_CREAT)) { + if (flags & O_NOFOLLOW) { + errno = ELOOP; + return 0; + } errno = ENOENT; return 0; }