Files
Mike Kaganski 010611712f vcl: read a cross-reference stream that carries no predictor
PDFDocument sized every row of a /Type/XRef stream as one predictor byte plus
the /W fields and read the fields from offset one, and the no-prediction arm
of the filter never copied the row it had read. /Predictor defaults to 1, so
a stream written without /DecodeParms decoded as nothing but free entries. It
gave up entirely when /Filter was absent, which is as legal.

An indirect /Length is resolved through those offsets. With none of them the
tokenizer cannot skip a stream body, so it reads the compressed bytes as
tokens and Read() fails on the file.

Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: I4929e879e02ba91dce8280421f129f91dba9074d
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/13205
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 3adab88af78016314f210f2be66668190b1f3493)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211444
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-25 12:02:18 +02:00
..
…
…
…
…
…