diff --git a/DiscImageChef.Filesystems/LisaFS/File.cs b/DiscImageChef.Filesystems/LisaFS/File.cs index c15cf6eb..9d7e7ba0 100644 --- a/DiscImageChef.Filesystems/LisaFS/File.cs +++ b/DiscImageChef.Filesystems/LisaFS/File.cs @@ -412,11 +412,10 @@ namespace DiscImageChef.Filesystems.LisaFS int realSize; if(fileSizeCache.TryGetValue(fileId, out realSize)) { - buf = new byte[realSize]; - Array.Copy(temp, 0, buf, 0, realSize); + if(realSize > temp.Length) + DicConsole.ErrorWriteLine("File {0} gets truncated.", fileId); } - else - buf = temp; + buf = temp; fileCache.Add(fileId, buf); } diff --git a/DiscImageChef.Filesystems/LisaFS/Super.cs b/DiscImageChef.Filesystems/LisaFS/Super.cs index 453bbae1..7fa5336f 100644 --- a/DiscImageChef.Filesystems/LisaFS/Super.cs +++ b/DiscImageChef.Filesystems/LisaFS/Super.cs @@ -206,6 +206,12 @@ namespace DiscImageChef.Filesystems.LisaFS Errno error; mounted = true; + this.debug = debug; + + if(debug) + { + printedExtents = new List(); + } List tempCat; error = ReadCatalog((short)FILEID_DIRECTORY, out tempCat); @@ -217,8 +223,6 @@ namespace DiscImageChef.Filesystems.LisaFS return error; } - this.debug = debug; - if(debug) { byte[] temp; @@ -286,11 +290,6 @@ namespace DiscImageChef.Filesystems.LisaFS xmlFSType.VolumeName = mddf.volname; xmlFSType.VolumeSerial = String.Format("{0:X16}", mddf.volid); - if(debug) - { - printedExtents = new List(); - } - return Errno.NoError; } }