diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2017-04-15 21:53:48 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2017-04-15 21:53:48 +0000 |
commit | f176ea2394b8bac8b98c7778f51a75d63901672d (patch) | |
tree | a11b5568817703b854a5907bffd57e9283130b22 | |
parent | 35bc26009a1c6cdb0e5df93a8d1dad668f5ec203 (diff) | |
download | netpbm-mirror-f176ea2394b8bac8b98c7778f51a75d63901672d.tar.gz netpbm-mirror-f176ea2394b8bac8b98c7778f51a75d63901672d.tar.xz netpbm-mirror-f176ea2394b8bac8b98c7778f51a75d63901672d.zip |
Fix basic bug; effect unknown
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@2952 9d0c8265-081b-0410-96cb-a4ca84ce46f8
-rw-r--r-- | converter/other/cameratopam/camera.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/converter/other/cameratopam/camera.c b/converter/other/cameratopam/camera.c index 503551f1..f6196777 100644 --- a/converter/other/cameratopam/camera.c +++ b/converter/other/cameratopam/camera.c @@ -1023,6 +1023,7 @@ static void sony_decrypt (unsigned *data, int len, int start, int key) { static uint32_t pad[128]; unsigned int p; + unsigned int i; if (start) { for (p=0; p < 4; p++) @@ -1047,8 +1048,9 @@ static void sony_decrypt (unsigned *data, int len, int start, int key) pad[p] = u.word; } } - while (len--) - *data++ ^= pad[p++ & 0x7f] = pad[(p+1) & 0x7f] ^ pad[(p+65) & 0x7f]; + for (i = 0, p = 0; i < len; ++i, ++p) { + *data++ ^= pad[p & 0x7f] = pad[(p+1) & 0x7f] ^ pad[(p+65) & 0x7f]; + } } void |