From 7711685439b3882d41e9965feada02847f5a4edf Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sun, 28 Jul 2019 14:03:38 +0100 Subject: [PATCH] Fix system area calculation padding. --- DiscImageChef.Filesystems/ISO9660/Dir.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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;