diff options
author | Hilko Bengen <bengen@hilluzination.de> | 2011-05-12 00:04:20 +0200 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2011-05-12 10:50:49 +0100 |
commit | 107fb672a316d99980efbabcc50142306fb34003 (patch) | |
tree | 3a718525e3866bcbee97d59c1545673f29d94ef4 | |
parent | 5cf4fc2caa34ccb3a1e01bbec912158127dcd169 (diff) | |
download | hivex-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.c | 2 |
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) |