LibCompress+AK: Dont short-circuit error handling propagation

In the case that both the stream and the wrapped substream had errors
to be handled only one of the two would be resolved due to boolean
short circuiting. this commit ensures both are handled irregardless
of one another.
This commit is contained in:
Idan Horowitz 2021-03-16 15:11:08 +02:00 committed by Andreas Kling
parent c684af1f83
commit ea5f83616e
2 changed files with 4 additions and 2 deletions

View file

@ -118,7 +118,8 @@ public:
bool handle_any_error() override
{
return m_stream.handle_any_error() || Stream::handle_any_error();
bool handled_errors = m_stream.handle_any_error();
return Stream::handle_any_error() || handled_errors;
}
private:

View file

@ -323,7 +323,8 @@ bool DeflateDecompressor::unreliable_eof() const { return m_state == State::Idle
bool DeflateDecompressor::handle_any_error()
{
return m_input_stream.handle_any_error() || Stream::handle_any_error();
bool handled_errors = m_input_stream.handle_any_error();
return Stream::handle_any_error() || handled_errors;
}
Optional<ByteBuffer> DeflateDecompressor::decompress_all(ReadonlyBytes bytes)