From 07dbcc3d9644b18e05c1776db2a57fe04d780965 Mon Sep 17 00:00:00 2001
From: Jeffrey Walton <noloader@gmail.com>
Date: Wed, 10 May 2017 18:17:12 -0400
Subject: [PATCH] Add Inflator::BadDistanceErr exception (Issue 414) The
 improved validation and excpetion clears the Address Sanitizer and Undefined
 Behavior Sanitizer findings

---
 zinflate.cpp | 8 +++++++-
 zinflate.h   | 4 ++++
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/zinflate.cpp b/zinflate.cpp
index 664efe6..fbd7505 100644
--- a/zinflate.cpp
+++ b/zinflate.cpp
@@ -550,12 +550,16 @@ bool Inflator::DecodeBody()
 						break;
 					}
 		case DISTANCE_BITS:
+					if (m_distance >= COUNTOF(distanceExtraBits))
+						throw BadDistanceErr();
 					bits = distanceExtraBits[m_distance];
 					if (!m_reader.FillBuffer(bits))
 					{
 						m_nextDecode = DISTANCE_BITS;
 						break;
 					}
+					if (m_distance >= COUNTOF(distanceStarts))
+						throw BadDistanceErr();
 					m_distance = m_reader.GetBits(bits) + distanceStarts[m_distance];
 					OutputPast(m_literal, m_distance);
 				}
diff --git a/zinflate.h b/zinflate.h
index e2fd237..c47d2f6 100644
--- a/zinflate.h
+++ b/zinflate.h
@@ -96,6 +96,7 @@ public:
 	};
 	class UnexpectedEndErr : public Err {public: UnexpectedEndErr() : Err(INVALID_DATA_FORMAT, "Inflator: unexpected end of compressed block") {}};
 	class BadBlockErr : public Err {public: BadBlockErr() : Err(INVALID_DATA_FORMAT, "Inflator: error in compressed block") {}};
+	class BadDistanceErr : public Err {public: BadDistanceErr() : Err(INVALID_DATA_FORMAT, "Inflator: error in bit distance") {}};
 
 	//! \brief RFC 1951 Decompressor
 	//! \param attachment the filter's attached transformation
