RFR: JDK-8347377 : Add validation checks for ICC_Profile header fields [v7]
Harshitha Onkar
honkar at openjdk.org
Tue Jan 21 19:45:08 UTC 2025
> ICC_Profile.setData(..) does validation of the specified tag contents and throws an exception if it is not valid. But if the tag represents the header, at least some of the validation is lazy, occurring only when the data is used, leading to unexpected exceptions at a later time. The check should be done up-front when the data is set, as in other cases.
>
> `verifyHeader(byte[] data)`is called when header data is being updated and the following fields are validated according to the ICC Spec Document. [[1] Pg#19](https://www.color.org/specification/ICC.1-2022-05.pdf).
>
> - Profile/Device class
> - Color Space
> - Rendering Intent
> - PCS
> - Header Size check (ICC Header Size = 128 bytes)
>
> These validation checks are added to ICC_Profile.getInstance(..) & ICC_Profile.setData(..) methods.
>
> Reference: [1] https://www.color.org/specification/ICC.1-2022-05.pdf
Harshitha Onkar has updated the pull request incrementally with two additional commits since the last revision:
- typo
- test case added for deserialization
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/23044/files
- new: https://git.openjdk.org/jdk/pull/23044/files/04880f66..b31900bc
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=23044&range=06
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=23044&range=05-06
Stats: 18 lines in 2 files changed: 15 ins; 0 del; 3 mod
Patch: https://git.openjdk.org/jdk/pull/23044.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23044/head:pull/23044
PR: https://git.openjdk.org/jdk/pull/23044
More information about the client-libs-dev
mailing list