From ae7c9a9788956a58eb67183b4db6c8852fa45393 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Wed, 24 Jul 2019 05:27:49 +0100 Subject: [PATCH] Fix reading ISO9660 directories that are not sector multiples. --- DiscImageChef.Filesystems/ISO9660/Dir.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/DiscImageChef.Filesystems/ISO9660/Dir.cs b/DiscImageChef.Filesystems/ISO9660/Dir.cs index 295a3f8de..e197b76af 100644 --- a/DiscImageChef.Filesystems/ISO9660/Dir.cs +++ b/DiscImageChef.Filesystems/ISO9660/Dir.cs @@ -63,7 +63,10 @@ namespace DiscImageChef.Filesystems.ISO9660 if(currentExtent == 0) return Errno.InvalidArgument; // TODO: XA, High Sierra - byte[] directoryBuffer = image.ReadSectors(currentExtent, entry.Value.Size / 2048); + uint dirSizeInSectors = entry.Value.Size / 2048; + if(entry.Value.Size % 2048 > 0) dirSizeInSectors++; + + byte[] directoryBuffer = image.ReadSectors(currentExtent, dirSizeInSectors); // TODO: Decode Joliet currentDirectory = cdi