summaryrefslogtreecommitdiffstats
path: root/tools/descramble.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2004-01-26 07:51:35 +0000
committerDaniel Stenberg <daniel@haxx.se>2004-01-26 07:51:35 +0000
commita4c67dcab58e9343c5d4a1cf06ed246de561aec0 (patch)
tree229c35ae3cd1c79aeb9dbded782a116b947b120b /tools/descramble.c
parent61ba8bb6f5a00b460c590e4fd15ec2c0fb42d1c3 (diff)
downloadrockbox-a4c67dcab58e9343c5d4a1cf06ed246de561aec0.tar.gz
rockbox-a4c67dcab58e9343c5d4a1cf06ed246de561aec0.zip
Brian Foley fixed a flaw that made this code segfault on bigendian systems
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4273 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools/descramble.c')
-rw-r--r--tools/descramble.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/tools/descramble.c b/tools/descramble.c
index 8ba8d4a18f..7ed32139c6 100644
--- a/tools/descramble.c
+++ b/tools/descramble.c
@@ -97,8 +97,11 @@ int main (int argc, char** argv)
int unpackedsize;
unsigned char xorstring[32];
- unpackedsize = ((unsigned int*)header)[1];
- length = ((unsigned int*)header)[2];
+ unpackedsize = header[4] | header[5] << 8;
+ unpackedsize |= header[6] << 16 | header[7] << 24;
+
+ length = header[8] | header[9] << 8;
+ length |= header[10] << 16 | header[11] << 24;
/* calculate the xor string used */
for (i=0; i<stringlen; i++) {