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>
benpeart authored and dscho committed Nov 23, 2022

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent 9b14a17 commit c2fe087
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
@@ -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;
@@ -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)

0 comments on commit c2fe087

Please sign in to comment.