From 9135153dc92462943c61e9842f090b0924d960c7 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sat, 30 Aug 2025 10:31:51 +0200 Subject: [PATCH] impr: Throw error if no data could be read with read node --- .../source/content/data_processor_nodes/other_nodes.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/builtin/source/content/data_processor_nodes/other_nodes.cpp b/plugins/builtin/source/content/data_processor_nodes/other_nodes.cpp index 5add5981b..4b2b4d5e4 100644 --- a/plugins/builtin/source/content/data_processor_nodes/other_nodes.cpp +++ b/plugins/builtin/source/content/data_processor_nodes/other_nodes.cpp @@ -25,10 +25,14 @@ namespace hex::plugin::builtin { const auto &address = u64(this->getIntegerOnInput(0)); const auto &size = u64(this->getIntegerOnInput(1)); + const auto provider = ImHexApi::Provider::get(); + if (address + size > provider->getActualSize()) + throwNodeError("Read exceeds file size"); + std::vector data; data.resize(size); - ImHexApi::Provider::get()->readRaw(address, data.data(), size); + provider->readRaw(address, data.data(), size); this->setBufferOnOutput(2, data); }