diff options
-rw-r--r-- | mupdf/pdf_crypt.c | 12 | ||||
-rw-r--r-- | mupdf/pdf_xref.c | 2 |
2 files changed, 7 insertions, 7 deletions
diff --git a/mupdf/pdf_crypt.c b/mupdf/pdf_crypt.c index 7d06d1b4..eb163304 100644 --- a/mupdf/pdf_crypt.c +++ b/mupdf/pdf_crypt.c @@ -259,12 +259,12 @@ pdf_newdecrypt(pdf_crypt **cp, fz_obj *enc, fz_obj *id) return fz_throw("unsupported encryption algorithm: %d", crypt->v); } - if (!fz_isarray(id) || fz_arraylen(id) != 2) - goto cleanup; - obj = fz_arrayget(id, 0); - if (!fz_isstring(obj)) - goto cleanup; - crypt->id = fz_keepobj(obj); + if (fz_isarray(id) && fz_arraylen(id) == 2) + { + obj = fz_arrayget(id, 0); + if (!fz_isstring(obj)) + crypt->id = fz_keepobj(obj); + } crypt->keylen = crypt->len + 5; if (crypt->keylen > 16) diff --git a/mupdf/pdf_xref.c b/mupdf/pdf_xref.c index abcf0a10..510f1354 100644 --- a/mupdf/pdf_xref.c +++ b/mupdf/pdf_xref.c @@ -148,7 +148,7 @@ pdf_decryptxref(pdf_xref *xref) encrypt = fz_dictgets(xref->trailer, "Encrypt"); id = fz_dictgets(xref->trailer, "ID"); - if (encrypt && id) + if (encrypt) { if (fz_isnull(encrypt)) return fz_okay; |