diff --git a/filters.cpp b/filters.cpp index 8d225553..1771e8cb 100644 --- a/filters.cpp +++ b/filters.cpp @@ -168,7 +168,7 @@ size_t MeterFilter::PutMaybeModifiable(byte *begin, size_t length, int messageEn while (m_length > 0 || messageEnd) { - if (!m_rangesToSkip.empty() && m_rangesToSkip.front().message == m_totalMessages && m_currentMessageBytes + m_length > m_rangesToSkip.front().position) + if (m_length > 0 && !m_rangesToSkip.empty() && m_rangesToSkip.front().message == m_totalMessages && m_currentMessageBytes + m_length > m_rangesToSkip.front().position) { FILTER_OUTPUT_MAYBE_MODIFIABLE(1, m_begin, t = (size_t)SaturatingSubtract(m_rangesToSkip.front().position, m_currentMessageBytes), false, modifiable);