summaryrefslogtreecommitdiff
path: root/source/pdf/pdf-signature.c
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/pdf-signature.c
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/pdf-signature.c')
-rw-r--r--source/pdf/pdf-signature.c4
1 files changed, 2 insertions, 2 deletions
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);