summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Sharp <ken.sharp@artifex.com>2021-03-17 10:11:35 +0000
committerKen Sharp <ken.sharp@artifex.com>2021-03-18 16:26:11 +0000
commite0757c6ac945ce6e17add4a1d8e05ab3ea924322 (patch)
tree9d00b94ac1c70ecc05a2583f70ad36245f148768
parentd14a9b61dacca87165fce93835a391fe32d3d5f2 (diff)
downloadghostpdl-e0757c6ac945ce6e17add4a1d8e05ab3ea924322.tar.gz
Ignore empty DecodeParms arrays
This is illegal but apparently Acrobat ignores these.
-rw-r--r--pdf/pdf_file.c12
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;
+ }
}
}