summaryrefslogtreecommitdiff
path: root/source/pdf
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2018-07-10 12:58:57 +0200
committerTor Andersson <tor.andersson@artifex.com>2018-08-10 12:09:33 +0200
commit09f2e173850e011e6390c49a4f761e87dd87ffba (patch)
tree6026165eb2c859792e1c9c3578d470a4e6837f72 /source/pdf
parent62876a7025e31897e7ccb92ff8d461d3fef6ddb4 (diff)
downloadmupdf-09f2e173850e011e6390c49a4f761e87dd87ffba.tar.xz
Clean up null/range/endstream filter.
Use separate functions to keep the code simpler. Use memmem to simplify and optimize search for 'endstream' token. Do not look for 'endobj' since that could cause a false positives in compressed object streams that have duff lengths.
Diffstat (limited to 'source/pdf')
-rw-r--r--source/pdf/pdf-form.c4
-rw-r--r--source/pdf/pdf-signature.c4
-rw-r--r--source/pdf/pdf-stream.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/source/pdf/pdf-form.c b/source/pdf/pdf-form.c
index d6969ce7..a838b4b8 100644
--- a/source/pdf/pdf-form.c
+++ b/source/pdf/pdf-form.c
@@ -1245,7 +1245,7 @@ int pdf_signature_widget_byte_range(fz_context *ctx, pdf_document *doc, pdf_widg
for (i = 0; i < n; i++)
{
byte_range[i].offset = pdf_array_get_int(ctx, br, 2*i);
- byte_range[i].len = pdf_array_get_int(ctx, br, 2*i+1);
+ byte_range[i].length = pdf_array_get_int(ctx, br, 2*i+1);
}
}
@@ -1268,7 +1268,7 @@ fz_stream *pdf_signature_widget_hash_bytes(fz_context *ctx, pdf_document *doc, p
pdf_signature_widget_byte_range(ctx, doc, widget, byte_range);
}
- bytes = fz_open_null_n(ctx, doc->file, byte_range, byte_range_len);
+ bytes = fz_open_range_filter(ctx, doc->file, byte_range, byte_range_len);
}
fz_always(ctx)
{
diff --git a/source/pdf/pdf-signature.c b/source/pdf/pdf-signature.c
index 4d62e7f1..cb7a807b 100644
--- a/source/pdf/pdf-signature.c
+++ b/source/pdf/pdf-signature.c
@@ -29,11 +29,11 @@ void pdf_write_digest(fz_context *ctx, fz_output *out, pdf_obj *byte_range, int
for (i = 0; i < brange_len; i++)
{
brange[i].offset = pdf_array_get_int(ctx, byte_range, 2*i);
- brange[i].len = pdf_array_get_int(ctx, byte_range, 2*i+1);
+ brange[i].length = pdf_array_get_int(ctx, byte_range, 2*i+1);
}
stm = fz_stream_from_output(ctx, out);
- in = fz_open_null_n(ctx, stm, brange, brange_len);
+ in = fz_open_range_filter(ctx, stm, brange, brange_len);
digest_len = (hexdigest_length - 2) / 2;
digest = fz_malloc(ctx, digest_len);
diff --git a/source/pdf/pdf-stream.c b/source/pdf/pdf-stream.c
index 796e2490..54d3d561 100644
--- a/source/pdf/pdf-stream.c
+++ b/source/pdf/pdf-stream.c
@@ -298,7 +298,7 @@ pdf_open_raw_filter(fz_context *ctx, fz_stream *file_stm, pdf_document *doc, pdf
hascrypt = pdf_stream_has_crypt(ctx, stmobj);
len = pdf_dict_get_int(ctx, stmobj, PDF_NAME(Length));
- null_stm = fz_open_pdf_stream(ctx, file_stm, len, offset);
+ null_stm = fz_open_endstream_filter(ctx, file_stm, len, offset);
if (doc->crypt && !hascrypt)
{
fz_try(ctx)
@@ -359,7 +359,7 @@ pdf_open_inline_stream(fz_context *ctx, pdf_document *doc, pdf_obj *stmobj, int
if (imparams)
imparams->type = FZ_IMAGE_RAW;
- return fz_open_null(ctx, file_stm, length, fz_tell(ctx, file_stm));
+ return fz_open_null_filter(ctx, file_stm, length, fz_tell(ctx, file_stm));
}
void