From 185018d8c9a6c1669d70d847b95dcbd8e5b35ab2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Dr=C3=BCing?= Date: Mon, 29 Jan 2018 12:14:45 +0100 Subject: [PATCH] HDCopy: Fix a bug in sector calculation --- DiscImageChef.DiscImages/HDCopy.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/DiscImageChef.DiscImages/HDCopy.cs b/DiscImageChef.DiscImages/HDCopy.cs index a96a66d60..12761388e 100644 --- a/DiscImageChef.DiscImages/HDCopy.cs +++ b/DiscImageChef.DiscImages/HDCopy.cs @@ -1,4 +1,4 @@ -// /*************************************************************************** +// /*************************************************************************** // The Disc Image Chef // ---------------------------------------------------------------------------- // @@ -247,7 +247,7 @@ namespace DiscImageChef.DiscImages public byte[] ReadSector(ulong sectorAddress) { int trackNum = (int)(sectorAddress / imageInfo.SectorsPerTrack); - int sectorOffset = (int)(sectorAddress % (imageInfo.SectorsPerTrack * imageInfo.SectorSize)); + int sectorOffset = (int)(sectorAddress % imageInfo.SectorsPerTrack); if(sectorAddress > imageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); @@ -262,7 +262,7 @@ namespace DiscImageChef.DiscImages // track is present in file, make sure it has been loaded if(!trackCache.ContainsKey(trackNum)) ReadTrackIntoCache(hdcpImageFilter.GetDataForkStream(), trackNum); - Array.Copy(trackCache[trackNum], sectorOffset, result, 0, imageInfo.SectorSize); + Array.Copy(trackCache[trackNum], sectorOffset * imageInfo.SectorSize, result, 0, imageInfo.SectorSize); } return result;