summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHilko Bengen <bengen@hilluzination.de>2011-05-12 00:04:20 +0200
committerRichard W.M. Jones <rjones@redhat.com>2011-05-12 10:50:49 +0100
commit107fb672a316d99980efbabcc50142306fb34003 (patch)
tree3a718525e3866bcbee97d59c1545673f29d94ef4
parent5cf4fc2caa34ccb3a1e01bbec912158127dcd169 (diff)
downloadhivex-107fb672a316d99980efbabcc50142306fb34003.tar.gz
hivex-107fb672a316d99980efbabcc50142306fb34003.tar.xz
hivex-107fb672a316d99980efbabcc50142306fb34003.zip
hivex: Fix for endianess bug.
* Richard W.M. Jones: > > Both size_t and int are 32 bit values. An endianess issue, maybe? > I guess it might be. We're supposed to be doing le32toh / be32toh > everywhere as appropriate, but we might be missing one. The code is > mainly tested on little endian arches. Found it. Now "make check" completes successfully on Sparc and PowerPC.
-rw-r--r--lib/hivex.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/hivex.c b/lib/hivex.c
index 2abd5bd..7715520 100644
--- a/lib/hivex.c
+++ b/lib/hivex.c
@@ -1062,7 +1062,7 @@ get_values (hive_h *h, hive_node_h node,
size_t i;
for (i = 0; i < nr_values; ++i) {
- hive_node_h value = vlist->offset[i];
+ hive_node_h value = le32toh (vlist->offset[i]);
value += 0x1000;
if (!IS_VALID_BLOCK (h, value)) {
if (h->msglvl >= 2)