summaryrefslogtreecommitdiff
path: root/src/cmsnamed.c
diff options
context:
space:
mode:
authorMarti Maria <marti.maria@littlecms.com>2022-07-08 18:44:59 +0200
committerMarti Maria <marti.maria@littlecms.com>2022-07-08 18:44:59 +0200
commitf776ec0269ba4f528801aada06b46f104b47e36f (patch)
tree7d4a1525f7e00c915e326519decf8cce88a5fa46 /src/cmsnamed.c
parent5798448a464817ac17abc0dbd7cc5017d088f01d (diff)
downloadlcms2-f776ec0269ba4f528801aada06b46f104b47e36f.tar.gz
Fixed a minor memory leak when dealing with bar params
If some hacker is trying to trick us, don't leak memory when we piss him off.
Diffstat (limited to 'src/cmsnamed.c')
-rw-r--r--src/cmsnamed.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/cmsnamed.c b/src/cmsnamed.c
index 104d11d..b58a66d 100644
--- a/src/cmsnamed.c
+++ b/src/cmsnamed.c
@@ -542,11 +542,14 @@ cmsBool GrowNamedColorList(cmsNAMEDCOLORLIST* v)
// Allocate a list for n elements
cmsNAMEDCOLORLIST* CMSEXPORT cmsAllocNamedColorList(cmsContext ContextID, cmsUInt32Number n, cmsUInt32Number ColorantCount, const char* Prefix, const char* Suffix)
{
- cmsNAMEDCOLORLIST* v = (cmsNAMEDCOLORLIST*) _cmsMallocZero(ContextID, sizeof(cmsNAMEDCOLORLIST));
-
+ cmsNAMEDCOLORLIST* v;
+
+ if (ColorantCount >= cmsMAXCHANNELS)
+ return NULL;
+
+ v = (cmsNAMEDCOLORLIST*)_cmsMallocZero(ContextID, sizeof(cmsNAMEDCOLORLIST));
if (v == NULL) return NULL;
- if (ColorantCount >= cmsMAXCHANNELS) return NULL;
-
+
v ->List = NULL;
v ->nColors = 0;
v ->ContextID = ContextID;