summaryrefslogtreecommitdiff
path: root/src/cmsopt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmsopt.c')
-rw-r--r--src/cmsopt.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/cmsopt.c b/src/cmsopt.c
index 7478e5e..4bdf0a7 100644
--- a/src/cmsopt.c
+++ b/src/cmsopt.c
@@ -1179,6 +1179,16 @@ Curves16Data* CurvesAlloc(cmsContext ContextID, int nCurves, int nElements, cmsT
c16->Curves[i] = _cmsCalloc(ContextID, nElements, sizeof(cmsUInt16Number));
+ if (c16->Curves[i] == NULL) {
+
+ for (j=0; j < i; j++) {
+ _cmsFree(ContextID, c16->Curves[j]);
+ }
+ _cmsFree(ContextID, c16->Curves);
+ _cmsFree(ContextID, c16);
+ return NULL;
+ }
+
if (nElements == 256) {
for (j=0; j < nElements; j++) {