diff options
Diffstat (limited to 'src/user/app/login')
-rw-r--r-- | src/user/app/login/login.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/user/app/login/login.c b/src/user/app/login/login.c index 5d9eb36..af6e19c 100644 --- a/src/user/app/login/login.c +++ b/src/user/app/login/login.c @@ -44,8 +44,10 @@ static void drv(const char *user) { forward_open(reqh, buf, req.len, req.flags); } else if (segcmp(buf, 1, "Users") && segcmp(buf, 3, "private")) { // /Users/*/private/** _syscall_fs_respond(reqh, NULL, -EACCES, 0); + } else if (!OPEN_WRITEABLE(req.flags)) { + forward_open(reqh, buf, req.len, req.flags); } else { - forward_open(reqh, buf, req.len, req.flags | OPEN_RO); + _syscall_fs_respond(reqh, NULL, -EACCES, 0); } break; |