| diff --git a/third_party/lcms/src/cmstypes.c b/third_party/lcms/src/cmstypes.c |
| index 441d6bb..15199c7 100644 |
| --- a/third_party/lcms/src/cmstypes.c |
| +++ b/third_party/lcms/src/cmstypes.c |
| @@ -4203,7 +4203,11 @@ void *Type_MPEmatrix_Read(struct _cms_typehandler_struct* self, cmsIOHANDLER* io |
| |
| cmsFloat32Number v; |
| |
| - if (!_cmsReadFloat32Number(io, &v)) return NULL; |
| + if (!_cmsReadFloat32Number(io, &v)) { |
| + _cmsFree(self ->ContextID, Matrix); |
| + _cmsFree(self ->ContextID, Offsets); |
| + return NULL; |
| + } |
| Matrix[i] = v; |
| } |
| |
| @@ -4212,7 +4216,11 @@ void *Type_MPEmatrix_Read(struct _cms_typehandler_struct* self, cmsIOHANDLER* io |
| |
| cmsFloat32Number v; |
| |
| - if (!_cmsReadFloat32Number(io, &v)) return NULL; |
| + if (!_cmsReadFloat32Number(io, &v)) { |
| + _cmsFree(self ->ContextID, Matrix); |
| + _cmsFree(self ->ContextID, Offsets); |
| + return NULL; |
| + } |
| Offsets[i] = v; |
| } |
| |