diff --git a/DiscImageChef.Filesystems/ISO9660/Dir.cs b/DiscImageChef.Filesystems/ISO9660/Dir.cs index 71bf4a2bc..023ff9fca 100644 --- a/DiscImageChef.Filesystems/ISO9660/Dir.cs +++ b/DiscImageChef.Filesystems/ISO9660/Dir.cs @@ -189,9 +189,15 @@ namespace DiscImageChef.Filesystems.ISO9660 }; // TODO: XA - int systemAreaStart = entryOff + record.name_len + Marshal.SizeOf(); + int systemAreaStart = entryOff + record.name_len + Marshal.SizeOf(); int systemAreaLength = record.length - record.name_len - Marshal.SizeOf(); + if(systemAreaStart % 2 != 0) + { + systemAreaStart++; + systemAreaLength--; + } + bool hasResourceFork = false; if(systemAreaLength > 2) @@ -314,7 +320,7 @@ namespace DiscImageChef.Filesystems.ISO9660 record.name_len) : Encoding.GetString(data, entryOff + DirectoryRecordSize, record.name_len), - Timestamp = DecodeIsoDateTime(record.date) + Timestamp = DecodeIsoDateTime(record.date) }; if(hasResourceFork) entries[entry.Filename].ResourceFork = entry;