diff --git a/DiscImageChef.DiscImages/DiskCopy42.cs b/DiscImageChef.DiscImages/DiskCopy42.cs index 74d4adc44..cc7450501 100644 --- a/DiscImageChef.DiscImages/DiskCopy42.cs +++ b/DiscImageChef.DiscImages/DiskCopy42.cs @@ -103,7 +103,6 @@ namespace DiscImageChef.DiscImages /// Header of opened image Dc42Header header; ImageInfo imageInfo; - ulong sectorsToWrite; /// Start of tags in disk image, after data sectors uint tagOffset; bool twiggy; @@ -918,7 +917,8 @@ namespace DiscImageChef.DiscImages header.Valid = 1; header.DataSize = (uint)(sectors * 512); if(tags) header.TagSize = (uint)(sectors * 12); - sectorsToWrite = sectors; + + imageInfo = new ImageInfo {MediaType = mediaType, SectorSize = sectorSize, Sectors = sectors}; try { writingStream = new FileStream(path, FileMode.CreateNew, FileAccess.ReadWrite, FileShare.None); } catch(IOException e) @@ -952,7 +952,7 @@ namespace DiscImageChef.DiscImages return false; } - if(sectorAddress >= sectorsToWrite) + if(sectorAddress >= imageInfo.Sectors) { ErrorMessage = "Tried to write past image size"; return false; @@ -979,7 +979,7 @@ namespace DiscImageChef.DiscImages return false; } - if(sectorAddress + length > sectorsToWrite) + if(sectorAddress + length > imageInfo.Sectors) { ErrorMessage = "Tried to write past image size"; return false; @@ -1012,7 +1012,7 @@ namespace DiscImageChef.DiscImages return false; } - if(sectorAddress >= sectorsToWrite) + if(sectorAddress >= imageInfo.Sectors) { ErrorMessage = "Tried to write past image size"; return false; @@ -1047,7 +1047,7 @@ namespace DiscImageChef.DiscImages return false; } - if(sectorAddress + length > sectorsToWrite) + if(sectorAddress + length > imageInfo.Sectors) { ErrorMessage = "Tried to write past image size"; return false;