git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git://ted.mutabah.net/acess2
[tpg/acess2.git]
/
KernelLand
/
Kernel
/
vfs
/
open.c
diff --git
a/KernelLand/Kernel/vfs/open.c
b/KernelLand/Kernel/vfs/open.c
index
748d0f7
..
f0b5734
100644
(file)
--- a/
KernelLand/Kernel/vfs/open.c
+++ b/
KernelLand/Kernel/vfs/open.c
@@
-296,7
+296,7
@@
restart_parse:
pathEle[nextSlash] = 0;
// Check permissions on root of filesystem
pathEle[nextSlash] = 0;
// Check permissions on root of filesystem
- if( !VFS_CheckACL(curNode, VFS_PERM_EXEC
UTE
) ) {
+ if( !VFS_CheckACL(curNode, VFS_PERM_EXEC) ) {
LOG("Permissions failure on '%s'", Path);
errno = EPERM;
goto _error;
LOG("Permissions failure on '%s'", Path);
errno = EPERM;
goto _error;
@@
-474,7
+474,7
@@
int VFS_int_CreateHandle( tVFS_Node *Node, tVFS_Mount *Mount, int Mode )
ENTER("pNode pMount xMode", Node, Mount, Mode);
i = 0;
ENTER("pNode pMount xMode", Node, Mount, Mode);
i = 0;
- i |= (Mode & VFS_OPENFLAG_EXEC) ? VFS_PERM_EXEC
UTE
: 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;
i |= (Mode & VFS_OPENFLAG_READ) ? VFS_PERM_READ : 0;
i |= (Mode & VFS_OPENFLAG_WRITE) ? VFS_PERM_WRITE : 0;
@@
-557,7
+557,7
@@
int VFS_OpenEx(const char *Path, Uint Flags, Uint Mode)
}
// Check ACLs on the parent
}
// Check ACLs on the parent
- if( !VFS_CheckACL(pnode, VFS_PERM_EXEC
UTE
|VFS_PERM_WRITE) ) {
+ if( !VFS_CheckACL(pnode, VFS_PERM_EXEC|VFS_PERM_WRITE) ) {
errno = EACCES;
goto _pnode_err;
}
errno = EACCES;
goto _pnode_err;
}
@@
-706,7
+706,8
@@
int VFS_OpenInode(Uint32 Mount, Uint64 Inode, int Mode)
// Does the filesystem support this?
if( !mnt->Filesystem->GetNodeFromINode ) {
// 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);
}
errno = ENOENT;
LEAVE_RET('i', -1);
}
@@
-810,7
+811,10
@@
int VFS_DuplicateFD(int SrcFD, int DstFD)
int VFS_SetFDFlags(int FD, int Mask, int Value)
{
tVFS_Handle *h = VFS_GetHandle(FD);
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;
int ret = h->Mode;
Value &= Mask;
UCC
git Repository :: git.ucc.asn.au