@@ -76,7 +76,8 @@ void syscallFsLength(g_task* task, g_syscall_fs_length* data)
7676
7777void syscallFsCloneFd (g_task* task, g_syscall_fs_clonefd* data)
7878{
79- data->status = filesystemProcessCloneDescriptor (data->source_pid , data->source_fd , data->target_pid , data->target_fd , &data->result );
79+ data->status = filesystemProcessCloneDescriptor (data->source_pid , data->source_fd , data->target_pid ,
80+ data->target_fd , &data->result );
8081}
8182
8283void syscallFsTell (g_task* task, g_syscall_fs_tell* data)
@@ -121,7 +122,8 @@ void syscallFsPipe(g_task* task, g_syscall_fs_pipe* data)
121122 g_fs_open_status writeOpen = filesystemOpenNodeFd (pipeNode, writeFlags, task->process ->id , &data->write_fd );
122123 if (writeOpen != G_FS_OPEN_SUCCESSFUL)
123124 {
124- logInfo (" %! failed to open write end of pipe %i for task %i with status %i" , " filesystem" , pipeNode->id , task->id , writeOpen);
125+ logInfo (" %! failed to open write end of pipe %i for task %i with status %i" , " filesystem" , pipeNode->id ,
126+ task->id , writeOpen);
125127 data->status = G_FS_PIPE_ERROR;
126128 return ;
127129 }
@@ -132,9 +134,11 @@ void syscallFsPipe(g_task* task, g_syscall_fs_pipe* data)
132134 {
133135 if (filesystemClose (task->process ->id , writeOpen, true ) != G_FS_CLOSE_SUCCESSFUL)
134136 {
135- logInfo (" %! failed to close write end of pipe %i for task %i after failing to open read end" , " filesystem" , pipeNode->id , task->id );
137+ logInfo (" %! failed to close write end of pipe %i for task %i after failing to open read end" , " filesystem" ,
138+ pipeNode->id , task->id );
136139 }
137- logInfo (" %! failed to open read end of pipe %i for task %i with status %i" , " filesystem" , pipeNode->id , task->id , readOpen);
140+ logInfo (" %! failed to open read end of pipe %i for task %i with status %i" , " filesystem" , pipeNode->id ,
141+ task->id , readOpen);
138142 data->status = G_FS_PIPE_ERROR;
139143 return ;
140144 }
@@ -205,7 +209,13 @@ void syscallFsReadDirectory(g_task* task, g_syscall_fs_read_directory* data)
205209 return ;
206210 }
207211
208- g_fs_node* child;
212+ if (directory->type == G_FS_NODE_TYPE_FILE)
213+ {
214+ data->status = G_FS_READ_DIRECTORY_ERROR;
215+ return ;
216+ }
217+
218+ g_fs_node* child = nullptr ;
209219 data->status = filesystemReadDirectory (directory, data->iterator ->position , &child);
210220 if (data->status == G_FS_READ_DIRECTORY_SUCCESSFUL)
211221 {
0 commit comments