* DiscImageChef.DiscImages/DiskCopy42.cs:

Lisa Twiggies and Macintosh Twiggies use a different track
	  order. Detect a Macintosh File System to know which
	  re-ordering to use.

	* DiscImageChef.Filesystems/AppleMFS/Dir.cs:
	  Remove spurious debug leftover.
	"Entries are always an integral number of words" solved.

	* DiscImageChef.Filesystems/AppleMFS/Super.cs:
	  When filling volume block map, check we are not going out of
	  bounds.

	* DiscImageChef.Partitions/NeXT.cs:
	* DiscImageChef.Filesystems/HPFS.cs:
	* DiscImageChef.Filesystems/SysV.cs:
	  Do not try to read past device.
This commit is contained in:
2016-08-01 18:52:34 +01:00
parent e37f50d5d3
commit f5e90756a2
9 changed files with 87 additions and 34 deletions

View File

@@ -58,7 +58,7 @@ namespace DiscImageChef.PartPlugins
public override bool GetInformation(ImagePlugins.ImagePlugin imagePlugin, out List<CommonTypes.Partition> partitions)
{
byte[] cString;
bool magic_found;
bool magic_found = false;
byte[] entry_sector;
uint magic;
@@ -77,7 +77,7 @@ namespace DiscImageChef.PartPlugins
if(magic == NEXT_MAGIC1 || magic == NEXT_MAGIC2 || magic == NEXT_MAGIC3)
magic_found = true;
else
else if(imagePlugin.ImageInfo.sectors > 15)
{
entry_sector = imagePlugin.ReadSector(15); // Starts on sector 15 on MBR machines
magic = BigEndianBitConverter.ToUInt32(entry_sector, 0x00);
@@ -88,7 +88,7 @@ namespace DiscImageChef.PartPlugins
{
if(sector_size == 2048)
entry_sector = imagePlugin.ReadSector(4); // Starts on sector 4 on RISC CDs
else
else if(imagePlugin.ImageInfo.sectors > 16)
entry_sector = imagePlugin.ReadSector(16); // Starts on sector 16 on RISC disks
magic = BigEndianBitConverter.ToUInt32(entry_sector, 0x00);