aboutsummaryrefslogtreecommitdiff
path: root/ARMeilleure
diff options
context:
space:
mode:
authorriperiperi <rhy3756547@hotmail.com>2020-11-20 01:51:59 +0000
committerGitHub <noreply@github.com>2020-11-20 02:51:59 +0100
commit9852cb9c9ea3793eaef405ebb671052bb4b6643a (patch)
treeaee5994e441ea9f604454aaeb2e753d5b9df6c6b /ARMeilleure
parentc2356a7653d46ad2e3320dfd0f7816d63f8ff1a7 (diff)
Use backup when PTC compression is corrupt (#1704)
* Use backup when PTC compression is corrupt * Apply suggestions from code review Co-authored-by: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com> Co-authored-by: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com>
Diffstat (limited to 'ARMeilleure')
-rw-r--r--ARMeilleure/Translation/PTC/Ptc.cs11
-rw-r--r--ARMeilleure/Translation/PTC/PtcProfiler.cs13
2 files changed, 21 insertions, 3 deletions
diff --git a/ARMeilleure/Translation/PTC/Ptc.cs b/ARMeilleure/Translation/PTC/Ptc.cs
index 3baef401..c5cb123e 100644
--- a/ARMeilleure/Translation/PTC/Ptc.cs
+++ b/ARMeilleure/Translation/PTC/Ptc.cs
@@ -196,7 +196,16 @@ namespace ARMeilleure.Translation.PTC
{
int hashSize = md5.HashSize / 8;
- deflateStream.CopyTo(stream);
+ try
+ {
+ deflateStream.CopyTo(stream);
+ }
+ catch
+ {
+ InvalidateCompressedStream(compressedStream);
+
+ return false;
+ }
stream.Seek(0L, SeekOrigin.Begin);
diff --git a/ARMeilleure/Translation/PTC/PtcProfiler.cs b/ARMeilleure/Translation/PTC/PtcProfiler.cs
index dcc31275..dbb3ed9d 100644
--- a/ARMeilleure/Translation/PTC/PtcProfiler.cs
+++ b/ARMeilleure/Translation/PTC/PtcProfiler.cs
@@ -120,7 +120,16 @@ namespace ARMeilleure.Translation.PTC
{
int hashSize = md5.HashSize / 8;
- deflateStream.CopyTo(stream);
+ try
+ {
+ deflateStream.CopyTo(stream);
+ }
+ catch
+ {
+ InvalidateCompressedStream(compressedStream);
+
+ return false;
+ }
stream.Seek(0L, SeekOrigin.Begin);
@@ -264,4 +273,4 @@ namespace ARMeilleure.Translation.PTC
}
}
}
-} \ No newline at end of file
+}