diff options
author | Daniel Stenberg <daniel@haxx.se> | 2004-01-26 07:51:35 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2004-01-26 07:51:35 +0000 |
commit | a4c67dcab58e9343c5d4a1cf06ed246de561aec0 (patch) | |
tree | 229c35ae3cd1c79aeb9dbded782a116b947b120b | |
parent | 61ba8bb6f5a00b460c590e4fd15ec2c0fb42d1c3 (diff) | |
download | rockbox-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
-rw-r--r-- | tools/descramble.c | 7 |
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) | |||
97 | int unpackedsize; | 97 | int unpackedsize; |
98 | unsigned char xorstring[32]; | 98 | unsigned char xorstring[32]; |
99 | 99 | ||
100 | unpackedsize = ((unsigned int*)header)[1]; | 100 | unpackedsize = header[4] | header[5] << 8; |
101 | length = ((unsigned int*)header)[2]; | 101 | unpackedsize |= header[6] << 16 | header[7] << 24; |
102 | |||
103 | length = header[8] | header[9] << 8; | ||
104 | length |= header[10] << 16 | header[11] << 24; | ||
102 | 105 | ||
103 | /* calculate the xor string used */ | 106 | /* calculate the xor string used */ |
104 | for (i=0; i<stringlen; i++) { | 107 | for (i=0; i<stringlen; i++) { |