From ea6a0421ff3e7d09ca273664b987a83af8e7a8fd Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Tue, 22 Jul 2008 10:58:10 +0000 Subject: Fixed a stupid bug in ldid that caused incorrect signatures occasionally. --- ldid.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ldid.cpp b/ldid.cpp index 869e849..b581988 100644 --- a/ldid.cpp +++ b/ldid.cpp @@ -498,7 +498,7 @@ int main(int argc, const char *argv[]) { for (size_t i = 0; i != pages - 1; ++i) sha1(hashes[i], top + 0x1000 * i, 0x1000); if (pages != 0) - sha1(hashes[pages - 1], top + 0x1000 * (pages - 1), data % 0x1000); + sha1(hashes[pages - 1], top + 0x1000 * (pages - 1), ((data - 1) % 0x1000) + 1); } } @@ -553,7 +553,7 @@ int main(int argc, const char *argv[]) { for (size_t i = 0; i != pages - 1; ++i) sha1(hashes[i], top + 0x1000 * i, 0x1000); if (pages != 0) - sha1(hashes[pages - 1], top + 0x1000 * (pages - 1), data % 0x1000); + sha1(hashes[pages - 1], top + 0x1000 * (pages - 1), ((data - 1) % 0x1000) + 1); directory->hashOffset = Swap(offset - begin); offset += sizeof(*hashes) * pages; -- cgit v1.2.3-56-ge451