From 1f1cf8bbef88042cf14719b56d663dbcddcbacd5 Mon Sep 17 00:00:00 2001 From: rhodosaur Date: Sun, 20 Jun 2021 11:06:15 +0200 Subject: [PATCH 1/2] include 5E and DA values in zlib header check --- src/NerdBank.GitVersioning/ManagedGit/ZLibStream.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/NerdBank.GitVersioning/ManagedGit/ZLibStream.cs b/src/NerdBank.GitVersioning/ManagedGit/ZLibStream.cs index 31d11366..d21077f5 100644 --- a/src/NerdBank.GitVersioning/ManagedGit/ZLibStream.cs +++ b/src/NerdBank.GitVersioning/ManagedGit/ZLibStream.cs @@ -5,6 +5,7 @@ using System.Buffers; using System.IO; using System.IO.Compression; +using System.Linq; using System.Threading; using System.Threading.Tasks; @@ -56,9 +57,9 @@ public ZLibStream(Stream stream, long length = -1) Span zlibHeader = stackalloc byte[2]; stream.ReadAll(zlibHeader); - if (zlibHeader[0] != 0x78 || (zlibHeader[1] != 0x01 && zlibHeader[1] != 0x9C)) + if (zlibHeader[0] != 0x78 || (zlibHeader[1] != 0x01 && zlibHeader[1] != 0x9C && zlibHeader[1] != 0x5E && zlibHeader[1] != 0xDA)) { - throw new GitException(); + throw new GitException($"Invalid zlib header {string.Join(" ", zlibHeader.ToArray().Select(b => $"{b:X2}"))}"); } } From 480626dc4bda26c47f12342dd3f1bbc7973324f8 Mon Sep 17 00:00:00 2001 From: rhodosaur Date: Sun, 20 Jun 2021 15:26:41 +0200 Subject: [PATCH 2/2] ditch linq for exception --- src/NerdBank.GitVersioning/ManagedGit/ZLibStream.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/NerdBank.GitVersioning/ManagedGit/ZLibStream.cs b/src/NerdBank.GitVersioning/ManagedGit/ZLibStream.cs index d21077f5..d4e68212 100644 --- a/src/NerdBank.GitVersioning/ManagedGit/ZLibStream.cs +++ b/src/NerdBank.GitVersioning/ManagedGit/ZLibStream.cs @@ -5,7 +5,6 @@ using System.Buffers; using System.IO; using System.IO.Compression; -using System.Linq; using System.Threading; using System.Threading.Tasks; @@ -59,7 +58,7 @@ public ZLibStream(Stream stream, long length = -1) if (zlibHeader[0] != 0x78 || (zlibHeader[1] != 0x01 && zlibHeader[1] != 0x9C && zlibHeader[1] != 0x5E && zlibHeader[1] != 0xDA)) { - throw new GitException($"Invalid zlib header {string.Join(" ", zlibHeader.ToArray().Select(b => $"{b:X2}"))}"); + throw new GitException($"Invalid zlib header {zlibHeader[0]:X2} {zlibHeader[1]:X2}"); } }