}
// Permissions Check
- if( !VFS_CheckACL(parent, VFS_PERM_EXECUTE|VFS_PERM_WRITE) ) {
+ if( !VFS_CheckACL(parent, VFS_PERM_EXEC|VFS_PERM_WRITE) ) {
errno = EACCES;
goto _error;
}
return ret==NULL;
_error:
- _CloseNode(parent);
- ASSERT(mountpt->OpenHandleCount>0);
- mountpt->OpenHandleCount --;
+ if( parent ) {
+ _CloseNode(parent);
+ ASSERT(mountpt->OpenHandleCount>0);
+ mountpt->OpenHandleCount --;
+ }
free(absPath);
LEAVE('i', -1);
return -1;
return 0;
}
+ #if 0
if(h->Node->Size != (Uint64)-1 && h->Position >= h->Node->Size) {
//LEAVE('i', 0);
return 0;
}
+ #endif
do {
rv = h->Node->Type->ReadDir(h->Node, h->Position, Dest);