Skip to content

Commit

Permalink
virtualfilesystem: fix bug with symlinks being ignored
Browse files Browse the repository at this point in the history
The virtual file system code incorrectly treated symlinks as directories
instead of regular files.  This meant symlinks were not included even if
they are listed in the list of files returned by the core.virtualFilesystem
hook proc.  Fixes #25

Signed-off-by: Ben Peart <Ben.Peart@microsoft.com>
  • Loading branch information
benpeart authored and dscho committed Mar 14, 2023
1 parent f9cd4ca commit 0dcea80
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions virtualfilesystem.c
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ int is_excluded_from_virtualfilesystem(const char *pathname, int pathlen, int dt
if (dtype != DT_REG && dtype != DT_DIR && dtype != DT_LNK)
die(_("is_excluded_from_virtualfilesystem passed unhandled dtype"));

if (dtype == DT_REG) {
if (dtype == DT_REG || dtype == DT_LNK) {
int ret = is_included_in_virtualfilesystem(pathname, pathlen);
if (ret > 0)
return 0;
Expand All @@ -231,7 +231,7 @@ int is_excluded_from_virtualfilesystem(const char *pathname, int pathlen, int dt
return ret;
}

if (dtype == DT_DIR || dtype == DT_LNK) {
if (dtype == DT_DIR) {
if (!parent_directory_hashmap.tablesize && virtual_filesystem_data.len)
initialize_parent_directory_hashmap(&parent_directory_hashmap, &virtual_filesystem_data);
if (!parent_directory_hashmap.tablesize)
Expand Down

0 comments on commit 0dcea80

Please sign in to comment.