Index: third_party/lcms2-2.6/src/cmsxform.c |
diff --git a/third_party/lcms2-2.6/src/cmsxform.c b/third_party/lcms2-2.6/src/cmsxform.c |
index eddb9bd02cba3d057c94a5c1e4325ff3f3919349..6466d27c3ebf8f1b738341e2225a3909253b151e 100644 |
--- a/third_party/lcms2-2.6/src/cmsxform.c |
+++ b/third_party/lcms2-2.6/src/cmsxform.c |
@@ -593,7 +593,10 @@ _cmsTRANSFORM* AllocEmptyTransform(cmsContext ContextID, cmsPipeline* lut, |
// Allocate needed memory |
_cmsTRANSFORM* p = (_cmsTRANSFORM*) _cmsMallocZero(ContextID, sizeof(_cmsTRANSFORM)); |
- if (!p) return NULL; |
+ if (!p) { |
+ cmsPipelineFree(lut); |
+ return NULL; |
+ } |
// Store the proposed pipeline |
p ->Lut = lut; |
@@ -643,7 +646,7 @@ _cmsTRANSFORM* AllocEmptyTransform(cmsContext ContextID, cmsPipeline* lut, |
if (p ->FromInputFloat == NULL || p ->ToOutputFloat == NULL) { |
cmsSignalError(ContextID, cmsERROR_UNKNOWN_EXTENSION, "Unsupported raster format"); |
- _cmsFree(ContextID, p); |
+ cmsDeleteTransform(p); |
return NULL; |
} |
@@ -673,7 +676,7 @@ _cmsTRANSFORM* AllocEmptyTransform(cmsContext ContextID, cmsPipeline* lut, |
if (p ->FromInput == NULL || p ->ToOutput == NULL) { |
cmsSignalError(ContextID, cmsERROR_UNKNOWN_EXTENSION, "Unsupported raster format"); |
- _cmsFree(ContextID, p); |
+ cmsDeleteTransform(p); |
return NULL; |
} |