diff --git a/AK/BitStream.h b/AK/BitStream.h index ec6563f338..02ba16cb63 100644 --- a/AK/BitStream.h +++ b/AK/BitStream.h @@ -116,6 +116,11 @@ public: m_next_byte.clear(); } + bool handle_any_error() override + { + return m_stream.handle_any_error() || Stream::handle_any_error(); + } + private: Optional m_next_byte; size_t m_bit_offset { 0 }; diff --git a/Userland/Libraries/LibCompress/Deflate.cpp b/Userland/Libraries/LibCompress/Deflate.cpp index 71cdec5ce9..654c2584df 100644 --- a/Userland/Libraries/LibCompress/Deflate.cpp +++ b/Userland/Libraries/LibCompress/Deflate.cpp @@ -321,6 +321,11 @@ bool DeflateDecompressor::discard_or_error(size_t count) bool DeflateDecompressor::unreliable_eof() const { return m_state == State::Idle && m_read_final_bock; } +bool DeflateDecompressor::handle_any_error() +{ + return m_input_stream.handle_any_error() || Stream::handle_any_error(); +} + Optional DeflateDecompressor::decompress_all(ReadonlyBytes bytes) { InputMemoryStream memory_stream { bytes }; diff --git a/Userland/Libraries/LibCompress/Deflate.h b/Userland/Libraries/LibCompress/Deflate.h index 06958bbfa1..d5bfc74c8a 100644 --- a/Userland/Libraries/LibCompress/Deflate.h +++ b/Userland/Libraries/LibCompress/Deflate.h @@ -102,6 +102,7 @@ public: bool discard_or_error(size_t) override; bool unreliable_eof() const override; + bool handle_any_error() override; static Optional decompress_all(ReadonlyBytes);