diff options
author | Ken Sharp <ken.sharp@artifex.com> | 2021-03-17 10:11:35 +0000 |
---|---|---|
committer | Ken Sharp <ken.sharp@artifex.com> | 2021-03-18 16:26:11 +0000 |
commit | e0757c6ac945ce6e17add4a1d8e05ab3ea924322 (patch) | |
tree | 9d00b94ac1c70ecc05a2583f70ad36245f148768 | |
parent | d14a9b61dacca87165fce93835a391fe32d3d5f2 (diff) | |
download | ghostpdl-e0757c6ac945ce6e17add4a1d8e05ab3ea924322.tar.gz |
Ignore empty DecodeParms arrays
This is illegal but apparently Acrobat ignores these.
-rw-r--r-- | pdf/pdf_file.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/pdf/pdf_file.c b/pdf/pdf_file.c index 88205719e..583a89a51 100644 --- a/pdf/pdf_file.c +++ b/pdf/pdf_file.c @@ -876,9 +876,15 @@ int pdfi_filter_no_decryption(pdf_context *ctx, pdf_stream *stream_obj, goto exit; if (DecodeParams != NULL) { - if (pdfi_array_size(DecodeParams) != pdfi_array_size(filter_array)) { - code = gs_note_error(gs_error_typecheck); - goto exit; + if (pdfi_array_size(DecodeParams) == 0) { + pdfi_countdown(DecodeParams); + DecodeParams = NULL; + ctx->pdf_warnings |= W_PDF_STREAM_BAD_DECODEPARMS; + } else { + if (pdfi_array_size(DecodeParams) != pdfi_array_size(filter_array)) { + code = gs_note_error(gs_error_typecheck); + goto exit; + } } } |