summaryrefslogtreecommitdiff
path: root/src/cmsopt.c
diff options
context:
space:
mode:
authorMarti Maria <info@littlecms.com>2013-06-25 16:09:16 +0200
committerMarti Maria <info@littlecms.com>2013-06-25 16:09:16 +0200
commit91c2db7f2559be504211b283bc3a2c631d6f06d9 (patch)
treebf56bb78b1aefe0ff89f7a982b7b762d47a2a505 /src/cmsopt.c
parent0ba8f90dc60be8e838556ceb31474f1f407967dd (diff)
downloadlcms2-91c2db7f2559be504211b283bc3a2c631d6f06d9.tar.gz
Non happy-path fixes
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++) {