Merge
authorlana
Tue, 23 Oct 2012 09:38:38 -0700
changeset 14155 0f28da8d3c45
parent 14088 43f75cb620fb (current diff)
parent 14154 9acc7f86a458 (diff)
child 14168 5d6486e974ab
Merge
--- 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;