diff options
author | Thomas Deutschmann <whissi@gentoo.org> | 2021-03-30 10:59:39 +0200 |
---|---|---|
committer | Thomas Deutschmann <whissi@gentoo.org> | 2021-04-01 00:04:14 +0200 |
commit | 5ff1d6955496b3cf9a35042c9ac35db43bc336b1 (patch) | |
tree | 6d470f7eb448f59f53e8df1010aec9dad8ce1f72 /lcms2mt/src/cmstypes.c | |
parent | Import Ghostscript 9.53.1 (diff) | |
download | ghostscript-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.c | 20 |
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; |