diff options
author | prr <none@none> | 2013-11-13 11:59:49 -0800 |
---|---|---|
committer | prr <none@none> | 2013-11-13 11:59:49 -0800 |
commit | 7c5e6f4b831dd18741fad881737045dd1a00d513 (patch) | |
tree | 7accf0dbd458d282e68f3eafef85e2228771a040 /src | |
parent | 2224436b602995724f4ec45e9f5b63e085e821ab (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.c | 12 |
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]; |