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 29, 2019
1 parent bd721de commit 555c129
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 @@ -218,7 +218,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 @@ -227,7 +227,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 555c129

Please sign in to comment.