Summary
CIccProfile::Validate (required-tag checker, IccProfLib/IccProfile.cpp) carries five identical empty placeholder branches for spectral-PCS validation that were never implemented:
if (m_Header.spectralPCS) {
//????
}
Each sits at the head of a profile-class case, immediately before the existing if (m_Header.pcs) { … } block that validates the colorimetric-PCS required tags. The spectral-PCS counterpart is a stub: when a profile declares a spectral PCS, no spectral-specific required-tag validation is performed.
Sites (5)
| Profile class |
Line |
CodeQL alert |
icSigInputClass |
~2894 |
#149 |
icSigDisplayClass |
~2920 |
#150 |
icSigOutputClass |
~2947 |
#151 |
icSigColorSpaceClass |
~3031 |
#152 |
icSigAbstractClass |
~3045 |
#153 |
Origin
git blame attributes all five to commit 1f0a9dd2 (2015-09-29) — the original iccMAX/RefIccMAX import. These are long-standing spectral-PCS TODOs, not regressions.
Why this is a tracking issue, not a cleanup
The empty if bodies trip CodeQL cpp/empty-if, but they are intentional markers for missing functionality — deleting them would erase the only in-source signal that spectral-PCS required-tag validation is unimplemented. Implementing them is spectral-PCS domain work (which tags a spectral-PCS profile of each class must carry), so this is filed for the spectral-PCS owner rather than triaged as style.
The five cpp/empty-if CodeQL alerts (#149–#153) are being dismissed as won't fix with a reference to this issue, so the alert queue stays clean while the work item is tracked here.
Acceptance
For each profile class, define and enforce the spectral-PCS required-tag set (or explicitly document that none beyond the colorimetric set are required), replacing the //???? stubs.
Summary
CIccProfile::Validate(required-tag checker,IccProfLib/IccProfile.cpp) carries five identical empty placeholder branches for spectral-PCS validation that were never implemented:Each sits at the head of a profile-class case, immediately before the existing
if (m_Header.pcs) { … }block that validates the colorimetric-PCS required tags. The spectral-PCS counterpart is a stub: when a profile declares a spectral PCS, no spectral-specific required-tag validation is performed.Sites (5)
icSigInputClassicSigDisplayClassicSigOutputClassicSigColorSpaceClassicSigAbstractClassOrigin
git blameattributes all five to commit1f0a9dd2(2015-09-29) — the original iccMAX/RefIccMAX import. These are long-standing spectral-PCS TODOs, not regressions.Why this is a tracking issue, not a cleanup
The empty
ifbodies trip CodeQLcpp/empty-if, but they are intentional markers for missing functionality — deleting them would erase the only in-source signal that spectral-PCS required-tag validation is unimplemented. Implementing them is spectral-PCS domain work (which tags a spectral-PCS profile of each class must carry), so this is filed for the spectral-PCS owner rather than triaged as style.The five
cpp/empty-ifCodeQL alerts (#149–#153) are being dismissed as won't fix with a reference to this issue, so the alert queue stays clean while the work item is tracked here.Acceptance
For each profile class, define and enforce the spectral-PCS required-tag set (or explicitly document that none beyond the colorimetric set are required), replacing the
//????stubs.