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 /tools/descramble.c | |
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
Diffstat (limited to 'tools/descramble.c')
-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) 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++) { |