diff --git a/lib/libimhex/include/hex/providers/buffered_reader.hpp b/lib/libimhex/include/hex/providers/buffered_reader.hpp index d96347e16..f4988728e 100644 --- a/lib/libimhex/include/hex/providers/buffered_reader.hpp +++ b/lib/libimhex/include/hex/providers/buffered_reader.hpp @@ -20,7 +20,10 @@ namespace hex::prv { public: using BufferedReader::BufferedReader; - ProviderReader(Provider *provider, size_t bufferSize = 0x100000) : BufferedReader(provider, provider->getActualSize(), bufferSize) { } + ProviderReader(Provider *provider, size_t bufferSize = 0x100000) : BufferedReader(provider, provider->getActualSize(), bufferSize) { + this->setEndAddress(provider->getBaseAddress() + provider->getActualSize() - 1); + this->seek(provider->getBaseAddress()); + } }; } \ No newline at end of file diff --git a/plugins/builtin/source/content/views/view_diff.cpp b/plugins/builtin/source/content/views/view_diff.cpp index b55b81019..fd9d4591f 100644 --- a/plugins/builtin/source/content/views/view_diff.cpp +++ b/plugins/builtin/source/content/views/view_diff.cpp @@ -168,8 +168,8 @@ namespace hex::plugin::builtin { } if (providerA->getActualSize() != providerB->getActualSize()) { - auto endA = providerA->getActualSize() - 1; - auto endB = providerB->getActualSize() - 1; + auto endA = providerA->getActualSize() + 1; + auto endB = providerB->getActualSize() + 1; if (endA > endB) differences.push_back(Diff { Region{ endB, endA - endB }, ViewDiff::DifferenceType::Added });