RFR: 8282577: ICC_Profile.setData(int, byte[]) invalidates the profile [v4]

Sergey Bylokhov serb at openjdk.java.net
Thu Mar 10 04:25:36 UTC 2022


On Thu, 10 Mar 2022 04:15:14 GMT, Phil Race <prr at openjdk.org> wrote:

>> As per the bug eval, we are returning a pointer to a native raw LittleCMS profile and it should be a cooked one.
>> The simple test fails before the fix with
>> ~/jdk17/Contents/Home/bin/java SetTagDataValidation                               
>> Exception in thread "main" java.awt.color.CMMException: LCMS error 13: Couldn't link the profiles
>> 	at java.desktop/sun.java2d.cmm.lcms.LCMS.createNativeTransform(Native Method)
>> 	at java.desktop/sun.java2d.cmm.lcms.LCMS.createTransform(LCMS.java:104)
>> 	at java.desktop/sun.java2d.cmm.lcms.LCMSTransform.doTransform(LCMSTransform.java:143)
>> 	at java.desktop/sun.java2d.cmm.lcms.LCMSTransform.colorConvert(LCMSTransform.java:633)
>> 	at java.desktop/java.awt.color.ICC_ColorSpace.toRGB(ICC_ColorSpace.java:224)
>> 	at SetTagDataValidation.main(SetTagDataValidation.java:61)
>> 
>> and with the fix  just prints 
>> java SetTagDataValidation
>> 0.4
>> 0.5000076
>> 0.6
>
> Phil Race has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - 8282577: ICC_Profile.setData(int, byte[]) invalidates the profile
>  - 8282577: ICC_Profile.setData(int, byte[]) invalidates the profile

src/java.desktop/share/native/liblcms/LCMS.c line 745:

> 743:                 pfSanity = cmsOpenProfileFromMem(buf, pfSize);
> 744:             }
> 745:             //free(buf);

Can be removed?

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

PR: https://git.openjdk.java.net/jdk/pull/7668



More information about the client-libs-dev mailing list