pathEle[nextSlash] = 0;
// Check permissions on root of filesystem
- if( !VFS_CheckACL(curNode, VFS_PERM_EXECUTE) ) {
+ if( !VFS_CheckACL(curNode, VFS_PERM_EXEC) ) {
LOG("Permissions failure on '%s'", Path);
errno = EPERM;
goto _error;
ENTER("pNode pMount xMode", Node, Mount, Mode);
i = 0;
- i |= (Mode & VFS_OPENFLAG_EXEC) ? VFS_PERM_EXECUTE : 0;
+ i |= (Mode & VFS_OPENFLAG_EXEC) ? VFS_PERM_EXEC : 0;
i |= (Mode & VFS_OPENFLAG_READ) ? VFS_PERM_READ : 0;
i |= (Mode & VFS_OPENFLAG_WRITE) ? VFS_PERM_WRITE : 0;
}
// Check ACLs on the parent
- if( !VFS_CheckACL(pnode, VFS_PERM_EXECUTE|VFS_PERM_WRITE) ) {
+ if( !VFS_CheckACL(pnode, VFS_PERM_EXEC|VFS_PERM_WRITE) ) {
errno = EACCES;
goto _pnode_err;
}
// Does the filesystem support this?
if( !mnt->Filesystem->GetNodeFromINode ) {
- LOG("Filesystem does not support inode accesses");
+ Log_Notice("VFS", "Filesystem '%s' does not support inode accesses",
+ mnt->Filesystem->Name);
errno = ENOENT;
LEAVE_RET('i', -1);
}
int VFS_SetFDFlags(int FD, int Mask, int Value)
{
tVFS_Handle *h = VFS_GetHandle(FD);
- if(!FD) return -1;
+ if(!h) {
+ errno = EBADF;
+ return -1;
+ }
int ret = h->Mode;
Value &= Mask;