diff --git a/SabreTools.FileTypes/Archives/RarArchive.cs b/SabreTools.FileTypes/Archives/RarArchive.cs index e6e91e1d..527cb978 100644 --- a/SabreTools.FileTypes/Archives/RarArchive.cs +++ b/SabreTools.FileTypes/Archives/RarArchive.cs @@ -195,8 +195,12 @@ namespace SabreTools.FileTypes.Archives try { SharpCompress.Archives.Rar.RarArchive ra = SharpCompress.Archives.Rar.RarArchive.Open(File.Open(Filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)); - foreach (RarArchiveEntry entry in ra.Entries.Where(e => e != null && !e.IsDirectory)) + foreach (RarArchiveEntry entry in ra.Entries) { + // Skip invalid entries + if (entry == null || entry.IsDirectory) + continue; + // Create a blank item for the entry BaseFile rarEntryRom = new(); diff --git a/SabreTools.FileTypes/Archives/TapeArchive.cs b/SabreTools.FileTypes/Archives/TapeArchive.cs index 7b75b1ac..8aaf9f82 100644 --- a/SabreTools.FileTypes/Archives/TapeArchive.cs +++ b/SabreTools.FileTypes/Archives/TapeArchive.cs @@ -188,8 +188,12 @@ namespace SabreTools.FileTypes.Archives try { TarArchive ta = TarArchive.Open(File.Open(Filename!, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)); - foreach (TarArchiveEntry entry in ta.Entries.Where(e => e != null && !e.IsDirectory)) + foreach (TarArchiveEntry entry in ta.Entries) { + // Skip invalid entries + if (entry == null || entry.IsDirectory) + continue; + // Create a blank item for the entry BaseFile tarEntryRom = new();