diff --git a/Userland/Libraries/LibCore/Stream.h b/Userland/Libraries/LibCore/Stream.h index 15b4f07cb2..241a324d6c 100644 --- a/Userland/Libraries/LibCore/Stream.h +++ b/Userland/Libraries/LibCore/Stream.h @@ -522,6 +522,11 @@ public: // Otherwise, let's try an extra read just in case there's something // in our receive buffer. auto stream_nread = TRY(stream().read(buffer.slice(buffer_nread))); + + // Fill the internal buffer if it has run dry. + if (m_buffered_size == 0) + TRY(populate_read_buffer()); + return buffer_nread + stream_nread; }