diff --git a/plugins/builtin/source/content/providers/process_memory_provider.cpp b/plugins/builtin/source/content/providers/process_memory_provider.cpp index 3f3e166b1e3f1..7e3b4dd79e7f9 100644 --- a/plugins/builtin/source/content/providers/process_memory_provider.cpp +++ b/plugins/builtin/source/content/providers/process_memory_provider.cpp @@ -424,7 +424,16 @@ namespace hex::plugin::builtin { if (!file.isValid()) return; - for (const auto &line : wolv::util::splitString(file.readString(), "\n")) { + // procfs files don't have a defined size, so we have to just keep reading until we stop getting data + std::string data; + while (true) { + auto chunk = file.readString(0xFFFF); + if (chunk.empty()) + break; + data.append(chunk); + } + + for (const auto &line : wolv::util::splitString(data, "\n")) { const auto &split = splitString(line, " "); if (split.size() < 5) continue;