diff --git a/Libraries/LibCore/CIODevice.cpp b/Libraries/LibCore/CIODevice.cpp index 0f69fb6cd6..6b7f042f8b 100644 --- a/Libraries/LibCore/CIODevice.cpp +++ b/Libraries/LibCore/CIODevice.cpp @@ -127,7 +127,7 @@ ByteBuffer CIODevice::read_all() int nread = ::read(m_fd, read_buffer, sizeof(read_buffer)); if (nread < 0) { set_error(errno); - return ByteBuffer::copy(data.data(), data.size()); + break; } if (nread == 0) { set_eof(true); @@ -135,6 +135,8 @@ ByteBuffer CIODevice::read_all() } data.append((const u8*)read_buffer, nread); } + if (data.is_empty()) + return {}; return ByteBuffer::copy(data.data(), data.size()); }