summaryrefslogtreecommitdiff
path: root/fs/ext2.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext2.c')
-rw-r--r--fs/ext2.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ext2.c b/fs/ext2.c
index b518bd9..9cc5b34 100644
--- a/fs/ext2.c
+++ b/fs/ext2.c
@@ -315,6 +315,9 @@ fd ext2_mount_file_open(mount *m,char *path)
int ext2_mount_read_dir(mount *m,char *path, fs_dirent *dirs, uint32_t *pos)
{
uint32_t inode= ext2_filename_to_inode(VMEM_EXT2_RAMIMAGE,path);
+ if(inode==0)return -1;
+ ext2_inode *inode_current=ext2_get_inode(VMEM_EXT2_RAMIMAGE,inode);
+ if(!(inode_current->permissions&0x4000))return -1;
return ext2_read_dir(m->data, inode, dirs, pos);
}