-
Notifications
You must be signed in to change notification settings - Fork 10k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use Dict_getArray
in more places in src/core/
to avoid issues when Arrays contain indirect objects
#7295
Conversation
…n Arrays contain indirect objects As evident from e.g. PRs 6485 and 7118, some bad PDF generators unfortunately create Arrays where *some* elements are indirect objects (i.e. `Ref`s). This seems to mostly affect Arrays that contain numbers, such as e.g. `Matrix/FontMatrix/BBox/FontBBox/Rect/Color/...`, and has manifested itself in PDF files that fail to render correctly (some elements are missing). The problem in both the cases above, besides broken rendering, was that there were *no* errors/warnings that indicated what the problem was, making it difficult to pinpoint the issue. Hence this patch, where I've audited all usages of `Dict_get` in `src/core/` files, and replaced it with `Dict_getArray` where appropriate to try and prevent unnecessary future bugs.
/botio-linux preview |
From: Bot.io (Linux)ReceivedCommand cmd_preview from @timvandermeij received. Current queue size: 0 Live output at: http://107.21.233.14:8877/7d739554b38bd3e/output.txt |
From: Bot.io (Linux)SuccessFull output at http://107.21.233.14:8877/7d739554b38bd3e/output.txt Total script time: 1.06 mins Published |
/botio test |
From: Bot.io (Linux)ReceivedCommand cmd_test from @timvandermeij received. Current queue size: 0 Live output at: http://107.21.233.14:8877/4c00895c52dbfb5/output.txt |
From: Bot.io (Windows)ReceivedCommand cmd_test from @timvandermeij received. Current queue size: 0 Live output at: http://107.22.172.223:8877/b279ffbf852dd6f/output.txt |
From: Bot.io (Windows)SuccessFull output at http://107.22.172.223:8877/b279ffbf852dd6f/output.txt Total script time: 21.66 mins
|
From: Bot.io (Linux)SuccessFull output at http://107.21.233.14:8877/4c00895c52dbfb5/output.txt Total script time: 27.86 mins
|
I have verified all changes with the specification and it is good to make this more solid. Thank you for the patch! |
As evident from e.g. PRs #6485 and #7118, some bad PDF generators unfortunately create Arrays where some elements are indirect objects (i.e.
Ref
s). This seems to mostly affect Arrays that contain numbers, such as e.g.Matrix/FontMatrix/BBox/FontBBox/Rect/Color/...
, and has manifested itself in PDF files that fail to render correctly (some elements are missing).The problem in both the cases above, besides broken rendering, was that there were no errors/warnings that indicated what the problem was, making it difficult to pinpoint the issue.
Hence this patch, where I've audited all usages of
Dict_get
insrc/core/
files, and replaced it withDict_getArray
where appropriate to try and prevent unnecessary future bugs.