summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/lcms/files/lcms-2.6-cve-2014-0459.patch')
-rw-r--r--media-libs/lcms/files/lcms-2.6-cve-2014-0459.patch92
1 files changed, 0 insertions, 92 deletions
diff --git a/media-libs/lcms/files/lcms-2.6-cve-2014-0459.patch b/media-libs/lcms/files/lcms-2.6-cve-2014-0459.patch
deleted file mode 100644
index aa1b17b24083..000000000000
--- a/media-libs/lcms/files/lcms-2.6-cve-2014-0459.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-patch is directly taken from upstream at
- https://github.com/mm2/Little-CMS/commit/74ba39195a0cf87c43f46a2fabd9c2168692822d
-original version
- http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/d6739b8326a4
-cleaned from parts of an accidental commit of unrelated changes.
-
---- a/src/cmscnvrt.c
-+++ b/src/cmscnvrt.c
-@@ -1045,7 +1045,7 @@
- if (TheIntents[i] == INTENT_PERCEPTUAL || TheIntents[i] == INTENT_SATURATION) {
-
- // Force BPC for V4 profiles in perceptual and saturation
-- if (cmsGetProfileVersion(hProfiles[i]) >= 4.0)
-+ if (cmsGetEncodedICCversion(hProfiles[i]) >= 0x4000000)
- BPC[i] = TRUE;
- }
- }
---- a/src/cmsintrp.c
-+++ b/src/cmsintrp.c
-@@ -929,7 +929,7 @@
-
- Rest = c1 * rx + c2 * ry + c3 * rz;
-
-- Tmp1[OutChan] = (cmsUInt16Number) c0 + ROUND_FIXED_TO_INT(_cmsToFixedDomain(Rest));
-+ Tmp1[OutChan] = (cmsUInt16Number) ( c0 + ROUND_FIXED_TO_INT(_cmsToFixedDomain(Rest)));
- }
-
-
-@@ -993,7 +993,7 @@
-
- Rest = c1 * rx + c2 * ry + c3 * rz;
-
-- Tmp2[OutChan] = (cmsUInt16Number) c0 + ROUND_FIXED_TO_INT(_cmsToFixedDomain(Rest));
-+ Tmp2[OutChan] = (cmsUInt16Number) (c0 + ROUND_FIXED_TO_INT(_cmsToFixedDomain(Rest)));
- }
-
-
---- a/src/cmsio0.c
-+++ b/src/cmsio0.c
-@@ -623,6 +623,32 @@
- }
-
-
-+
-+// Enforces that the profile version is per. spec.
-+// Operates on the big endian bytes from the profile.
-+// Called before converting to platform endianness.
-+// Byte 0 is BCD major version, so max 9.
-+// Byte 1 is 2 BCD digits, one per nibble.
-+// Reserved bytes 2 & 3 must be 0.
-+static
-+cmsUInt32Number _validatedVersion(cmsUInt32Number DWord)
-+{
-+ cmsUInt8Number* pByte = (cmsUInt8Number*) &DWord;
-+ cmsUInt8Number temp1;
-+ cmsUInt8Number temp2;
-+
-+ if (*pByte > 0x09) *pByte = (cmsUInt8Number) 0x09;
-+ temp1 = *(pByte+1) & 0xf0;
-+ temp2 = *(pByte+1) & 0x0f;
-+ if (temp1 > 0x90) temp1 = 0x90;
-+ if (temp2 > 0x09) temp2 = 0x09;
-+ *(pByte+1) = (cmsUInt8Number)(temp1 | temp2);
-+ *(pByte+2) = (cmsUInt8Number)0;
-+ *(pByte+3) = (cmsUInt8Number)0;
-+
-+ return DWord;
-+}
-+
- // Read profile header and validate it
- cmsBool _cmsReadHeader(_cmsICCPROFILE* Icc)
- {
-@@ -657,7 +683,7 @@
- Icc -> creator = _cmsAdjustEndianess32(Header.creator);
-
- _cmsAdjustEndianess64(&Icc -> attributes, &Header.attributes);
-- Icc -> Version = _cmsAdjustEndianess32(Header.version);
-+ Icc -> Version = _cmsAdjustEndianess32(_validatedVersion(Header.version));
-
- // Get size as reported in header
- HeaderSize = _cmsAdjustEndianess32(Header.size);
---- a/src/cmsio1.c
-+++ b/src/cmsio1.c
-@@ -906,7 +906,7 @@
- {
- if (!cmsWriteTag(hProfile, cmsSigProfileSequenceDescTag, seq)) return FALSE;
-
-- if (cmsGetProfileVersion(hProfile) >= 4.0) {
-+ if (cmsGetEncodedICCversion(hProfile) >= 0x4000000) {
-
- if (!cmsWriteTag(hProfile, cmsSigProfileSequenceIdTag, seq)) return FALSE;
- }