summaryrefslogtreecommitdiff
path: root/source/html/epub-doc.c
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2015-09-30 19:10:45 +0100
committerRobin Watts <robin.watts@artifex.com>2015-10-01 11:11:10 +0100
commit841398e7693a511df66dd0f1b33d9604371d53e0 (patch)
tree9543c6591a5fd856da2b2c52d6c7ed970a697ca8 /source/html/epub-doc.c
parente6a6cccd2295ad09fc569debda49ebcef8b2cd92 (diff)
downloadmupdf-841398e7693a511df66dd0f1b33d9604371d53e0.tar.xz
Bug 696146: Improve pdf_repair to find /Root in new style XRefs.
The current code never looks for /Root objects in dictionaries as it parses them. This means that 'New style' files end up without any Roots after repair. The new code therefore updates pdf_repair_obj to look for Root objects in the same way it looks for encrypt and id objects. These go into the list of found roots. The Root object almost certainly has indirections within it, so it is vital that the 'doc' pointer gets set. This means we have to make a slight adjustment to pdf_repair_obj so that the dict is parsed with a doc pointer. In turn this means we need to manually ensure that none of the other information read from the dict during the repair operation will cause indirections to be resolved. This is achieved by checking for !pdf_is_indirect at various points.
Diffstat (limited to 'source/html/epub-doc.c')
0 files changed, 0 insertions, 0 deletions