diff options
author | Marti Maria <marti.maria@littlecms.com> | 2022-07-08 18:44:59 +0200 |
---|---|---|
committer | Marti Maria <marti.maria@littlecms.com> | 2022-07-08 18:44:59 +0200 |
commit | f776ec0269ba4f528801aada06b46f104b47e36f (patch) | |
tree | 7d4a1525f7e00c915e326519decf8cce88a5fa46 /src/cmsnamed.c | |
parent | 5798448a464817ac17abc0dbd7cc5017d088f01d (diff) | |
download | lcms2-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.c | 11 |
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; |