Malformed profiles
ICC profiles should be written to conform with the version of the specification indicated in the profile header.Non-conforming profiles are not uncommon and although they can often be used without causing any problem, depending on the way in which they deviate from the specification they do sometimes cause problems in a workflow and could lead to a system crash or a vulnerability to malicious attack. Some errors are not critical to the use of the profile, and can safely be ignored by an application. Critical errors, however, will often prevent the transform in the profile being applied, and will usually lead to a CMM rejecting the profile. Profiles that do not exactly conform to the specification, but contain errors that can be handled by the CMM, are usually treated as valid profiles.
On this page we provide a series of intentionally malformed ICC.1 matrix/TRC profiles which can be used to test workflow components, and as examples of things to avoid in making profiles.
wxProfileDump will identify many (although not all) of the errors in these profiles and, where found, will class them as non-critical warnings or critical errors.
In addition to the issues identified in the table below for each profile, all the profiles have the following problems:
Note that the use of these profiles is governed by ICC terms and conditions. They are intended solely for the purpose of testing workflow components, and should not be distributed. ICC accepts no liability for the use of the profiles, and vendor should make their own security assessment for their situation, taking into account the information ICC provides.
Profile | Error description | wxProfileDump error | Error level |
---|---|---|---|
added-bytes.icc | Tags not consecutive, extra bytes added | N/A | N/A |
bad-illuminant.icc | Illuminant in header is not D50 | Non D50 Illuminant XYZ values | NonCompliant |
bad-CMM.icc | CMM is unregistered | Unregistered CMM signature | Warning |
beyond-eof.icc | Tag length in tag table extends beyond EOF | N/A | N/A |
max-redcurvevalue.icc | Red curve has a gamma value of 256 | N/A | N/A |
missing-required.icc | Required tag 'desc' is missing | Required tags missing | NonCompliant |
version-unknown.icc | Profile version is unknown version 6 | Major version number (6) is unexpected | NonCompliant |
zero-tags.icc | Profile contains no tags | No tags present. | Critical error |