aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorprr <none@none>2013-11-13 11:59:49 -0800
committerprr <none@none>2013-11-13 11:59:49 -0800
commit7c5e6f4b831dd18741fad881737045dd1a00d513 (patch)
tree7accf0dbd458d282e68f3eafef85e2228771a040 /src
parent2224436b602995724f4ec45e9f5b63e085e821ab (diff)
8028206: sun/java2d/cmm/ProfileOp/SetDataTest.java fails
Reviewed-by: bae, jchen
Diffstat (limited to 'src')
-rw-r--r--src/share/native/sun/java2d/cmm/lcms/cmsio0.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/share/native/sun/java2d/cmm/lcms/cmsio0.c b/src/share/native/sun/java2d/cmm/lcms/cmsio0.c
index 82b9a6e6d..801041454 100644
--- a/src/share/native/sun/java2d/cmm/lcms/cmsio0.c
+++ b/src/share/native/sun/java2d/cmm/lcms/cmsio0.c
@@ -1077,7 +1077,13 @@ cmsHPROFILE CMSEXPORT cmsOpenProfileFromMem(const void* MemPtr, cmsUInt32Number
static
cmsBool SanityCheck(_cmsICCPROFILE* profile)
{
- cmsIOHANDLER* io = profile->IOhandler;
+ cmsIOHANDLER* io;
+
+ if (!profile) {
+ return FALSE;
+ }
+
+ io = profile->IOhandler;
if (!io) {
return FALSE;
}
@@ -1108,8 +1114,6 @@ cmsBool SaveTags(_cmsICCPROFILE* Icc, _cmsICCPROFILE* FileOrig)
cmsTagTypeSignature TypeBase;
cmsTagTypeHandler* TypeHandler;
- if (!SanityCheck(FileOrig)) return FALSE;
-
for (i=0; i < Icc -> TagCount; i++) {
@@ -1126,7 +1130,7 @@ cmsBool SaveTags(_cmsICCPROFILE* Icc, _cmsICCPROFILE* FileOrig)
// Reach here if we are copying a tag from a disk-based ICC profile which has not been modified by user.
// In this case a blind copy of the block data is performed
- if (FileOrig != NULL && Icc -> TagOffsets[i]) {
+ if (SanityCheck(FileOrig) && Icc -> TagOffsets[i]) {
cmsUInt32Number TagSize = FileOrig -> TagSizes[i];
cmsUInt32Number TagOffset = FileOrig -> TagOffsets[i];