> 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 one additional 
commit since the last revision:

  added getInstance() test cases

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/23044/files
  - new: https://git.openjdk.org/jdk/pull/23044/files/ffacf6f3..82436871

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=23044&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23044&range=03-04

  Stats: 45 lines in 1 file changed: 36 ins; 3 del; 6 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

Reply via email to