Closed
Bug 468291
Opened 16 years ago
Closed 15 years ago
CID: 1236 [@ cmsGetDeviceClass] Intent flag lost by cmsGetDeviceClass from CreateProof
Categories
(Core :: Graphics: Color Management, defect)
Core
Graphics: Color Management
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: timeless, Assigned: bholley)
References
(Blocks 1 open bug, )
Details
(Keywords: coverity, crash)
Crash Data
Attachments
(1 file)
1.21 KB,
patch
|
vlad
:
review+
|
Details | Diff | Splinter Review |
Checker: FORWARD_NULL (help) File: base/src/mozilla/modules/lcms/src/cmsxform.c Function: CreateProof Description: Variable "(p)->PreviewProfile" tracked as NULL was passed to a function that dereferences it. 562 icProfileClassSignature LCMSEXPORT cmsGetDeviceClass(cmsHPROFILE hProfile) 564 LPLCMSICCPROFILE Icc = (LPLCMSICCPROFILE) hProfile; Event deref_var: Dereference of local "Icc" that aliases parameter 565 return Icc -> DeviceClass; -- 1705 LCMSBOOL LCMSEXPORT cmsIsIntentSupported(cmsHPROFILE hProfile, 1706 int Intent, int UsedDirection) 1709 icTagSignature* TagTable; checking for 'Intent = 0' would avoid this crash 1713 if (cmsGetDeviceClass(hProfile) != icSigLinkClass) { -- 794 LPLUT ComputeGamutWithInput(cmsHPROFILE hInput, cmsHPROFILE hProfile, int Intent) 816 if (!cmsIsIntentSupported(hProfile, Intent, LCMS_USED_AS_INPUT) && -- 905 LPLUT _cmsComputeGamutLUT(cmsHPROFILE hProfile, int Intent) 907 return ComputeGamutWithInput(NULL, hProfile, Intent); -- 1149 void CreateProof(_LPcmsTRANSFORM p, icTagSignature *ToTagPtr) 1152 icTagSignature ProofTag; 1153 1154 if (p -> dwOriginalFlags & cmsFLAGS_SOFTPROOFING) { 1159 p -> Preview = _cmsComputeSoftProofLUT(p ->PreviewProfile, p ->Intent); 1162 // That's a proofing transfor, so use second intent for output. I wouldn't cry if someone fixed the typo of 'transform' here... 1164 *ToTagPtr = PCS2Device[p->ProofIntent]; 1166 if (p -> Preview == NULL) { 1168 ProofTag = Preview[p -> Intent]; 1170 if (!cmsIsTag(p ->PreviewProfile, ProofTag)) { 1172 ProofTag = Preview[0]; 1177 if (ProofTag) { 1183 else Event assign_zero: Variable "(p)->PreviewProfile" assigned value 0. 1186 p ->PreviewProfile = NULL; 1197 if ((p -> dwOriginalFlags & cmsFLAGS_GAMUTCHECK) && (p -> dwOriginalFlags & cmsFLAGS_NOTPRECALC)) { Event var_deref_model: Variable "(p)->PreviewProfile" tracked as NULL was passed to a function that dereferences it. [model] 1200 p -> Gamut = _cmsComputeGamutLUT(p->PreviewProfile, p ->Intent);
Assignee | ||
Updated•16 years ago
|
Component: ImageLib → GFX: Color Management
QA Contact: imagelib → color-management
Assignee | ||
Comment 1•16 years ago
|
||
added a fix - flagging vlad for review
Attachment #352053 -
Flags: review?(vladimir)
Assignee | ||
Comment 2•16 years ago
|
||
FWIW - This code is never reached by mozilla because we call cmsCreateTransform only, which in turn calls cmsCreateProofingTransform with the Proofing Profile set to null. The offending code only gets called if the Proofing Profile is not null. Fix is simple enough though - might as well land it.
Attachment #352053 -
Flags: review?(vladimir) → review+
Comment 3•15 years ago
|
||
what is the next step on this one?
Assignee | ||
Comment 4•15 years ago
|
||
this bug is obsoleted by bug 481926 - what's the appropriate way to resolve?
Comment 5•15 years ago
|
||
modules/lcms/ is gone.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WONTFIX
Updated•13 years ago
|
Crash Signature: [@ cmsGetDeviceClass]
Updated•6 years ago
|
Blocks: coverity-analysis
You need to log in
before you can comment on or make changes to this bug.
Description
•