Jonas Jenwald
8d5689387b
Improve handling of named destinations in out-of-order NameTrees (PR 10274 follow-up)
...
According to the specification, see https://web.archive.org/web/20210404042322if_/https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/PDF32000_2008.pdf#G6.2384179 , the keys of a NameTree/NumberTree should be ordered.
For corrupt PDF files, which violate this assumption, it's thus possible that trying to lookup a single entry fails.
Previously, in PR 10274, we implemented a fallback that only applies to the "bottom" node of a NameTree/NumberTree, which in general might not actually help for sufficiently corrupt NameTree/NumberTree data.
Instead we remove the current *limited* fallback from `NameOrNumberTree.get`, and defer to the call-site to handle this case explicitly e.g. by using `NameOrNumberTree.getAll` for data where that makes sense. For well-formed documents, these changes should *not* lead to any additional data fetching/parsing.
Finally, as part of these changes, the validation of named destination data is improved in the `Catalog` and a new unit-test is also added.
2021-05-21 15:48:37 +02:00
..
2021-05-12 11:42:08 -07:00
2020-11-10 12:48:34 +01:00
2020-09-06 15:40:15 +02:00
2021-04-27 11:49:03 +02:00
2021-03-15 16:33:43 +01:00
2021-02-28 18:57:58 +01:00
2021-04-27 19:02:20 +02:00
2021-02-27 19:05:12 +01:00
2020-09-06 15:40:15 +02:00
2020-09-06 15:40:15 +02:00
2020-09-06 15:40:15 +02:00
2021-04-10 19:13:28 +02:00
2020-08-27 14:33:11 -07:00
2020-12-12 13:24:31 +01:00
2020-09-06 15:40:15 +02:00
2020-02-07 12:25:07 +01:00
2020-09-24 10:28:29 +02:00
2020-08-10 14:15:49 -07:00
2020-10-24 12:00:03 +02:00
2021-01-14 15:51:48 +01:00
2020-12-10 15:30:39 -08:00
2020-12-24 18:51:00 +01:00
2021-05-03 15:46:29 +02:00
2021-04-28 10:15:31 +02:00
2021-01-12 18:08:08 +01:00
2020-08-04 09:26:55 -07:00
2020-08-04 09:26:55 -07:00
2020-01-25 22:52:24 +01:00
2020-06-30 09:26:41 +02:00
2020-08-08 11:50:19 +02:00
2019-10-12 18:49:59 +02:00
2021-01-15 13:18:24 +01:00
2019-11-10 14:37:42 +01:00
2020-06-13 15:02:37 +02:00
2021-05-11 16:32:24 -07:00
2021-05-11 16:32:24 -07:00
2020-08-17 10:34:12 +02:00
2019-10-14 22:10:04 +02:00
2019-09-17 21:01:17 +03:00
2021-05-11 16:32:24 -07:00
2020-06-20 12:18:48 +02:00
2021-05-12 11:42:08 -07:00
2019-10-14 22:10:04 +02:00
2021-02-06 14:33:50 +01:00
2019-10-14 22:10:04 +02:00
2019-10-06 10:47:29 +02:00
2021-05-21 15:48:37 +02:00
2020-02-22 14:16:07 +01:00
2020-07-06 13:06:49 +02:00
2020-12-21 20:35:52 +01:00
2020-06-26 13:15:06 +02:00
2020-08-10 14:15:49 -07:00
2019-10-14 22:10:04 +02:00
2020-08-04 09:26:55 -07:00
2019-09-18 10:15:09 +02:00
2019-10-14 22:10:04 +02:00
2019-10-17 17:00:55 +02:00
2019-10-26 14:24:31 +02:00
2019-11-01 09:01:24 +01:00
2019-11-16 09:29:10 +01:00
2020-01-26 15:49:55 +01:00
2019-12-05 15:53:18 +01:00
2020-01-21 21:35:25 +02:00
2019-12-27 00:05:51 +01:00
2021-05-11 16:32:24 -07:00
2020-03-03 21:55:51 +02:00
2020-02-11 08:49:23 +09:00
2020-01-30 13:19:05 +01:00
2020-02-29 07:48:29 +09:00
2020-02-08 19:59:04 +01:00
2020-03-03 10:05:18 +01:00
2020-03-09 12:00:12 +01:00
2020-03-13 23:35:47 +01:00
2020-04-07 00:36:23 +02:00
2020-03-24 15:56:50 +02:00
2020-04-06 11:21:02 +02:00
2020-04-15 13:45:08 +02:00
2020-04-14 23:27:08 +02:00
2020-05-04 17:09:48 +02:00
2020-05-21 18:13:45 +02:00
2020-05-22 15:23:17 +02:00
2020-06-04 15:08:47 +02:00
2020-08-04 09:26:55 -07:00
2020-07-02 00:02:49 +02:00
2020-08-27 14:33:11 -07:00
2020-08-23 13:00:02 +02:00
2020-09-14 15:22:40 +02:00
2021-01-10 18:02:12 +01:00
2020-09-14 23:08:50 +02:00
2020-09-19 15:34:32 +02:00
2020-10-05 17:38:01 +03:00
2020-11-25 15:14:53 +01:00
2020-09-28 14:40:43 +02:00
2020-11-10 17:33:54 +01:00
2020-10-26 16:27:33 +01:00
2020-12-11 15:49:13 +01:00
2020-12-15 00:00:04 +01:00
2020-12-10 11:42:00 +01:00
2021-02-12 11:22:54 +01:00
2020-12-19 23:38:45 +01:00
2020-12-18 18:18:32 +01:00
2021-01-10 18:02:12 +01:00
2021-01-07 11:38:38 +01:00
2021-01-09 20:19:39 +01:00
2021-01-26 12:00:05 +01:00
2021-02-14 19:58:19 +01:00
2021-03-31 17:58:44 +03:00
2021-03-28 13:03:05 +02:00
2021-03-30 08:50:35 -07:00
2021-03-26 18:23:18 +01:00
2021-04-07 15:25:32 +02:00
2021-05-04 19:21:51 +02:00
2021-04-20 20:03:19 +02:00
2021-05-11 16:32:24 -07:00
2021-05-07 21:22:36 +02:00
2021-01-11 21:34:07 +01:00
2021-01-08 16:43:16 +01:00
2021-02-20 15:24:37 +01:00
2021-01-25 23:40:57 +01:00
2020-02-19 01:49:39 +01:00
2020-12-02 15:06:09 +01:00
2020-11-05 06:45:17 +01:00
2021-01-22 23:12:14 +01:00
2020-10-27 19:00:31 +01:00
2020-12-06 16:02:41 +01:00
2021-04-09 09:56:28 -07:00
2021-04-14 17:39:41 +03:00