Skip to content

Commit

Permalink
add_inode: skip encrypted inodes entirely
Browse files Browse the repository at this point in the history
  • Loading branch information
maharmstone committed Sep 27, 2021
1 parent bfb5124 commit bf44ad3
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/ntfs2btrfs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1878,7 +1878,7 @@ static void add_inode(root& r, uint64_t inode, uint64_t ntfs_inode, bool& is_dir
string filename;
buffer_t wof_compressed_data;
uint32_t cluster_size = dev.boot_sector->BytesPerSector * dev.boot_sector->SectorsPerCluster;
bool processed_data = false;
bool processed_data = false, skipping = false;
uint16_t compression_unit = 0;
uint64_t vdl;
vector<string> warnings;
Expand Down Expand Up @@ -1910,7 +1910,8 @@ static void add_inode(root& r, uint64_t inode, uint64_t ntfs_inode, bool& is_dir
if (filename.empty())
filename = f.get_filename();

warnings.emplace_back(fmt::format("Skipping encrypted inode {:x} ({})", inode - inode_offset, filename));
fmt::print(stderr, "Skipping encrypted inode {:x} ({})\n", inode - inode_offset, filename);
skipping = true;
return true;
}

Expand Down Expand Up @@ -2172,6 +2173,9 @@ static void add_inode(root& r, uint64_t inode, uint64_t ntfs_inode, bool& is_dir
return true;
});

if (skipping)
return;

// skip page files
if (links.size() == 1 && get<0>(links.front()) == NTFS_ROOT_DIR_INODE) {
if (string_eq_ci(get<1>(links.front()), "pagefile.sys") || string_eq_ci(get<1>(links.front()), "hiberfil.sys") ||
Expand Down

0 comments on commit bf44ad3

Please sign in to comment.