Skip to content

Spectral-PCS required-tag validation unimplemented in CIccProfile::Validate (5 sites) #1552

Description

@colourbill-ctrl

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.

Metadata

Metadata

Assignees

Labels

DocumentationDocumentation-only or documentation-related changeEnhancementTestingCTest, regression, or test coverageTriagedMaintainer indicates triaged status and ready for developer handoffciContinuous integration workflow changesfeatureFeature request or enhancement

Type

Fields

No fields configured for Bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions