diff options
Diffstat (limited to 'source/pdf/pdf-crypt.c')
-rw-r--r-- | source/pdf/pdf-crypt.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/pdf/pdf-crypt.c b/source/pdf/pdf-crypt.c index c1a4a52c..850ab942 100644 --- a/source/pdf/pdf-crypt.c +++ b/source/pdf/pdf-crypt.c @@ -477,7 +477,8 @@ pdf_compute_hardened_hash_r6(fz_context *ctx, unsigned char *password, int pwlen /* Step 2: repeat password and data block 64 times */ memcpy(data, password, pwlen); memcpy(data + pwlen, block, block_size); - memcpy(data + pwlen + block_size, ownerkey, ownerkey ? 48 : 0); + if (ownerkey) + memcpy(data + pwlen + block_size, ownerkey, 48); data_len = pwlen + block_size + (ownerkey ? 48 : 0); for (j = 1; j < 64; j++) memcpy(data + j * data_len, data, data_len); |