summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Freeman (saurik) <saurik@saurik.com>2008-07-22 10:58:10 +0000
committerJay Freeman (saurik) <saurik@saurik.com>2008-07-22 10:58:10 +0000
commitea6a0421ff3e7d09ca273664b987a83af8e7a8fd (patch)
tree69598b1924715ce853a4b2d7f61827a367ebdf16
parenta960f39234fdc2738d3ad2de3de785f4287b6cb9 (diff)
downloadldid-ea6a0421ff3e7d09ca273664b987a83af8e7a8fd.tar.gz
ldid-ea6a0421ff3e7d09ca273664b987a83af8e7a8fd.tar.zst
ldid-ea6a0421ff3e7d09ca273664b987a83af8e7a8fd.zip
Fixed a stupid bug in ldid that caused incorrect signatures occasionally.v1.0.371
-rw-r--r--ldid.cpp4
1 files 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;