# HG changeset patch # User lana # Date 1351010318 25200 # Node ID 0f28da8d3c45c635989b2f8151eedc3b58f9a834 # Parent 43f75cb620fb684feb19778b31ffc8afb0c9056f# Parent 9acc7f86a45846d4255b028cd88ef1a1d1a13c24 Merge diff -r 43f75cb620fb -r 0f28da8d3c45 jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c --- a/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c Thu Oct 18 11:09:00 2012 -0700 +++ b/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c Tue Oct 23 09:38:38 2012 -0700 @@ -253,6 +253,16 @@ if (sProf.pf == NULL) { JNU_ThrowIllegalArgumentException(env, "Invalid profile data"); + } else { + /* Sanity check: try to save the profile in order + * to force basic validation. + */ + cmsUInt32Number pfSize = 0; + if (!cmsSaveProfileToMem(sProf.pf, NULL, &pfSize) || + pfSize < sizeof(cmsICCHeader)) + { + JNU_ThrowIllegalArgumentException(env, "Invalid profile data"); + } } return sProf.j;