I'm having an issue with implementing a GZIP string decompressor. The compressed string is a20d32fdda14b300b28aa6b72982af3b as shown below. However, when running this code, I receive the error: 
"System.OverflowException occurred
  HResult=0x80131516
  Message=Arithmetic operation resulted in an overflow.
  StackTrace:
   at GZipDecompressor.Decompress.Main(String[] args)
"
when executing the line starting with "byte[] buffer2"
using System;
using System.IO;
using System.IO.Compression;
using System.Text;
namespace GZipDecompressor
{
    class Decompress
    {
        public static void Main(string[] args)
        {
            string compressedText = "a20d32fdda14b300b28aa6b72982af3b";
            int length = compressedText.Length;
            byte[] buffer = Convert.FromBase64String(compressedText);
            using (MemoryStream stream = new MemoryStream())
            {
                stream.Write(buffer, 4, buffer.Length - 4);
                byte[] buffer2 = new byte[BitConverter.ToInt32(buffer, 0)];
                stream.Position = 0;
                using (GZipStream stream2 = new GZipStream(stream, CompressionMode.Decompress))
                {
                    stream2.Read(buffer2, 0, buffer2.Length);
                }
                Console.WriteLine(Encoding.UTF8.GetString(buffer2));
            }
        }
    }
}
Could someone please explain why this is happening and how to go about solving it.
 
    