diff --git a/src/common/buffer.cc b/src/common/buffer.cc index e725ecd2a..2c64f8920 100644 --- a/src/common/buffer.cc +++ b/src/common/buffer.cc @@ -655,6 +655,14 @@ BufferTest::RunTests (void) i.Prev (1); i.WriteU8 (1, 1); + buffer = Buffer (6); + buffer.AddAtStart (3); + buffer.RemoveAtEnd (8); + buffer.AddAtEnd (4); + i = buffer.End (); + i.Prev (4); + i.WriteU8 (1, 4); + return ok; } diff --git a/src/common/buffer.h b/src/common/buffer.h index 500e11f7c..4986d4998 100644 --- a/src/common/buffer.h +++ b/src/common/buffer.h @@ -522,7 +522,8 @@ Buffer::Iterator::GetIndex (uint32_t n) NS_ASSERT ( (m_current + n <= m_dataEnd) && ((m_current + n <= m_zeroStart) || - (m_current >= m_zeroEnd)) + (m_current >= m_zeroEnd) || + m_zeroStart == m_zeroEnd) ); uint32_t index; if (m_current < m_zeroStart)