From 3cbb84be7f65cbffb6fafae82b5adda49e78ba12 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Thu, 3 Jul 2014 18:31:27 +0100 Subject: [PATCH] Close files, GC can take too long and the OS will trash us. --- DiscImageChef/ImagePlugins/DiskCopy42.cs | 6 ++++++ DiscImageChef/ImagePlugins/TeleDisk.cs | 2 ++ DiscImageChef/ImagePlugins/ZZZRawImage.cs | 3 +++ 3 files changed, 11 insertions(+) diff --git a/DiscImageChef/ImagePlugins/DiskCopy42.cs b/DiscImageChef/ImagePlugins/DiskCopy42.cs index c5805af9..6166185b 100644 --- a/DiscImageChef/ImagePlugins/DiskCopy42.cs +++ b/DiscImageChef/ImagePlugins/DiskCopy42.cs @@ -143,6 +143,7 @@ namespace DiscImageChef.ImagePlugins byte[] buffer = new byte[0x58]; byte[] pString = new byte[64]; stream.Read(buffer, 0, 0x58); + stream.Close(); // Incorrect pascal string length, not DC42 if (buffer[0] > 63) @@ -221,6 +222,7 @@ namespace DiscImageChef.ImagePlugins byte[] buffer = new byte[0x58]; byte[] pString = new byte[64]; stream.Read(buffer, 0, 0x58); + stream.Close(); // Incorrect pascal string length, not DC42 if (buffer[0] > 63) @@ -355,6 +357,8 @@ namespace DiscImageChef.ImagePlugins stream.Read(buffer, 0, (int)(length * bps)); + stream.Close(); + return buffer; } @@ -380,6 +384,8 @@ namespace DiscImageChef.ImagePlugins stream.Read(buffer, 0, (int)(length * bptag)); + stream.Close(); + return buffer; } diff --git a/DiscImageChef/ImagePlugins/TeleDisk.cs b/DiscImageChef/ImagePlugins/TeleDisk.cs index 6d958d42..2c228124 100644 --- a/DiscImageChef/ImagePlugins/TeleDisk.cs +++ b/DiscImageChef/ImagePlugins/TeleDisk.cs @@ -215,6 +215,7 @@ namespace DiscImageChef.ImagePlugins FileStream stream = new FileStream(imagePath, FileMode.Open, FileAccess.Read); stream.Read(headerBytes, 0, 12); + stream.Close(); header.signature = BitConverter.ToUInt16(headerBytes, 0); @@ -564,6 +565,7 @@ namespace DiscImageChef.ImagePlugins biggestSectorSize = (uint)decodedData.Length; } } + stream.Close(); return true; } diff --git a/DiscImageChef/ImagePlugins/ZZZRawImage.cs b/DiscImageChef/ImagePlugins/ZZZRawImage.cs index e8501a74..42c61c84 100644 --- a/DiscImageChef/ImagePlugins/ZZZRawImage.cs +++ b/DiscImageChef/ImagePlugins/ZZZRawImage.cs @@ -102,6 +102,7 @@ namespace DiscImageChef.ImagePlugins { FileStream stream = new FileStream(imagePath, FileMode.Open, FileAccess.Read); stream.Seek(0, SeekOrigin.Begin); + stream.Close(); FileInfo fi = new FileInfo(imagePath); string extension = Path.GetExtension(imagePath).ToLower(); @@ -294,6 +295,8 @@ namespace DiscImageChef.ImagePlugins stream.Read(buffer, 0, (int)(length * sectorSize)); + stream.Close(); + return buffer; }