From 93fcfbb131bdd1697aa933bada9d2ab53ff25ec5 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 17 Jul 2017 21:34:25 +0100 Subject: [PATCH] Fix ReadWriteZipFile crashing on update. --- OpenRA.Game/FileSystem/ZipFile.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OpenRA.Game/FileSystem/ZipFile.cs b/OpenRA.Game/FileSystem/ZipFile.cs index 61b39acfce..e8ebf9ef0d 100644 --- a/OpenRA.Game/FileSystem/ZipFile.cs +++ b/OpenRA.Game/FileSystem/ZipFile.cs @@ -97,13 +97,14 @@ namespace OpenRA.FileSystem sealed class ReadWriteZipFile : ReadOnlyZipFile, IReadWritePackage { - readonly MemoryStream pkgStream; + readonly MemoryStream pkgStream = new MemoryStream(); public ReadWriteZipFile(string filename, bool create = false) { // SharpZipLib breaks when asked to update archives loaded from outside streams or files // We can work around this by creating a clean in-memory-only file, cutting all outside references - pkgStream = create ? new MemoryStream() : new MemoryStream(File.ReadAllBytes(filename)); + if (!create) + new MemoryStream(File.ReadAllBytes(filename)).CopyTo(pkgStream); pkgStream.Position = 0; pkg = ZipFileHelper.Create(pkgStream);