On Tue, 28 Jan 2025 02:16:02 GMT, Harshitha Onkar <hon...@openjdk.org> wrote:
>>>Note, before this fix the following method iccCStoJCS was used to convert >>>icc constant to java constant and if it was not possible an exception was >>>thrown. >> >> Agreed. >> >>> but it was still possible to use such profiles for color conversion. >> >> The exception that I mentioned here: >> https://github.com/openjdk/jdk/pull/23044#discussion_r1929879100 is WITHOUT >> the newly added validation checks in setData(). >> >> The test case for that I used is as follows >> >> >> ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_LINEAR_RGB); >> ICC_Profile sRGB = ICC_Profile.getInstace(ColorSpace.CS_sRGB); >> sRGB.setData() // changed the color space to cmsSigMCH1Data which is not >> present in JDK and commented out the validation checks in setData() >> cs.toRGB(new float[3]); //color transform from CS_LINEAR_RGB to CS_sRGB >> fails, java.awt.color.ProfileDataException: invalid ICC color space thrown >> during color conversion. > >> But the existing checks that are already in the constructor can be safely >> added. > > Did you mean: profile class and color space validation checks should be okay > to add to .setData() ? Everything we've already checked in the constructor is fine. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23044#discussion_r1936518312