summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2021-03-30 10:59:39 +0200
committerThomas Deutschmann <whissi@gentoo.org>2021-04-01 00:04:14 +0200
commit5ff1d6955496b3cf9a35042c9ac35db43bc336b1 (patch)
tree6d470f7eb448f59f53e8df1010aec9dad8ce1f72 /lcms2mt/src/cmstypes.c
parentImport Ghostscript 9.53.1 (diff)
downloadghostscript-gpl-patches-5ff1d6955496b3cf9a35042c9ac35db43bc336b1.tar.gz
ghostscript-gpl-patches-5ff1d6955496b3cf9a35042c9ac35db43bc336b1.tar.bz2
ghostscript-gpl-patches-5ff1d6955496b3cf9a35042c9ac35db43bc336b1.zip
Import Ghostscript 9.54ghostscript-9.54
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
Diffstat (limited to 'lcms2mt/src/cmstypes.c')
-rw-r--r--lcms2mt/src/cmstypes.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/lcms2mt/src/cmstypes.c b/lcms2mt/src/cmstypes.c
index 85256ef7..1d8c2a38 100644
--- a/lcms2mt/src/cmstypes.c
+++ b/lcms2mt/src/cmstypes.c
@@ -1907,6 +1907,7 @@ cmsBool Type_LUT8_Write(cmsContext ContextID, struct _cms_typehandler_struct* s
mpe = NewLUT -> Elements;
if (mpe ->Type == cmsSigMatrixElemType) {
+ if (mpe->InputChannels != 3 || mpe->OutputChannels != 3) return FALSE;
MatMPE = (_cmsStageMatrixData*) mpe ->Data;
mpe = mpe -> Next;
}
@@ -1932,7 +1933,6 @@ cmsBool Type_LUT8_Write(cmsContext ContextID, struct _cms_typehandler_struct* s
return FALSE;
}
-
if (clut == NULL)
clutPoints = 0;
else
@@ -1947,15 +1947,13 @@ cmsBool Type_LUT8_Write(cmsContext ContextID, struct _cms_typehandler_struct* s
if (MatMPE != NULL) {
- for (i = 0; i < n; i++)
+ for (i = 0; i < 9; i++)
{
if (!_cmsWrite15Fixed16Number(ContextID, io, MatMPE->Double[i])) return FALSE;
}
}
else {
- if (n != 9) return FALSE;
-
if (!_cmsWrite15Fixed16Number(ContextID, io, 1)) return FALSE;
if (!_cmsWrite15Fixed16Number(ContextID, io, 0)) return FALSE;
if (!_cmsWrite15Fixed16Number(ContextID, io, 0)) return FALSE;
@@ -2178,9 +2176,9 @@ Error:
// Some empty defaults are created for missing parts
static
-cmsBool Type_LUT16_Write(cmsContext ContextID, struct _cms_typehandler_struct* self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
+cmsBool Type_LUT16_Write(cmsContext ContextID, struct _cms_typehandler_struct* self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
{
- cmsUInt32Number nTabSize, n;
+ cmsUInt32Number nTabSize;
cmsPipeline* NewLUT = (cmsPipeline*) Ptr;
cmsStage* mpe;
_cmsStageToneCurvesData* PreMPE = NULL, *PostMPE = NULL;
@@ -2194,6 +2192,7 @@ cmsBool Type_LUT16_Write(cmsContext ContextID, struct _cms_typehandler_struct*
if (mpe != NULL && mpe ->Type == cmsSigMatrixElemType) {
MatMPE = (_cmsStageMatrixData*) mpe ->Data;
+ if (mpe->InputChannels != 3 || mpe->OutputChannels != 3) return FALSE;
mpe = mpe -> Next;
}
@@ -2232,11 +2231,9 @@ cmsBool Type_LUT16_Write(cmsContext ContextID, struct _cms_typehandler_struct*
if (!_cmsWriteUInt8Number(ContextID, io, (cmsUInt8Number) clutPoints)) return FALSE;
if (!_cmsWriteUInt8Number(ContextID, io, 0)) return FALSE; // Padding
- n = NewLUT->InputChannels * NewLUT->OutputChannels;
-
if (MatMPE != NULL) {
- for (i = 0; i < n; i++)
+ for (i = 0; i < 9; i++)
{
if (!_cmsWrite15Fixed16Number(ContextID, io, MatMPE->Double[i])) return FALSE;
}
@@ -2244,8 +2241,6 @@ cmsBool Type_LUT16_Write(cmsContext ContextID, struct _cms_typehandler_struct*
}
else {
- if (n != 9) return FALSE;
-
if (!_cmsWrite15Fixed16Number(ContextID, io, 1)) return FALSE;
if (!_cmsWrite15Fixed16Number(ContextID, io, 0)) return FALSE;
if (!_cmsWrite15Fixed16Number(ContextID, io, 0)) return FALSE;
@@ -3048,6 +3043,9 @@ void *Type_ColorantTable_Read(cmsContext ContextID, struct _cms_typehandler_stru
}
List = cmsAllocNamedColorList(ContextID, Count, 0, "", "");
+ if (List == NULL)
+ return NULL;
+
for (i=0; i < Count; i++) {
if (io ->Read(ContextID, io,Name, 32, 1) != 1) goto Error;