1diff --git a/third_party/lcms/src/cmstypes.c b/third_party/lcms/src/cmstypes.c 2index 441d6bb..15199c7 100644 3--- a/third_party/lcms/src/cmstypes.c 4+++ b/third_party/lcms/src/cmstypes.c 5@@ -4203,7 +4203,11 @@ void *Type_MPEmatrix_Read(struct _cms_typehandler_struct* self, cmsIOHANDLER* io 6 7 cmsFloat32Number v; 8 9- if (!_cmsReadFloat32Number(io, &v)) return NULL; 10+ if (!_cmsReadFloat32Number(io, &v)) { 11+ _cmsFree(self ->ContextID, Matrix); 12+ _cmsFree(self ->ContextID, Offsets); 13+ return NULL; 14+ } 15 Matrix[i] = v; 16 } 17 18@@ -4212,7 +4216,11 @@ void *Type_MPEmatrix_Read(struct _cms_typehandler_struct* self, cmsIOHANDLER* io 19 20 cmsFloat32Number v; 21 22- if (!_cmsReadFloat32Number(io, &v)) return NULL; 23+ if (!_cmsReadFloat32Number(io, &v)) { 24+ _cmsFree(self ->ContextID, Matrix); 25+ _cmsFree(self ->ContextID, Offsets); 26+ return NULL; 27+ } 28 Offsets[i] = v; 29 } 30 31