diff options
author | Marti Maria <marti.maria@littlecms.com> | 2022-07-26 16:34:48 +0200 |
---|---|---|
committer | Marti Maria <marti.maria@littlecms.com> | 2022-07-26 16:34:48 +0200 |
commit | 97d37df9c961638e80c639feb2f31b38c40a14ba (patch) | |
tree | d56a487399f384057604bb490918a69efca1c2db | |
parent | 67736fea34fdccab2ac19391d2955d6d6808fe81 (diff) | |
download | lcms2-97d37df9c961638e80c639feb2f31b38c40a14ba.tar.gz |
Add a safeguard on gamma estimation
To prevent a division by zero on broken profiles
-rw-r--r-- | src/cmsgamma.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cmsgamma.c b/src/cmsgamma.c index dd97dd4..0b02bd4 100644 --- a/src/cmsgamma.c +++ b/src/cmsgamma.c @@ -1473,6 +1473,9 @@ cmsFloat64Number CMSEXPORT cmsEstimateGamma(const cmsToneCurve* t, cmsFloat64Num } } + // We need enough valid samples + if (n <= 1) return -1.0; + // Take a look on SD to see if gamma isn't exponential at all Std = sqrt((n * sum2 - sum * sum) / (n*(n-1))); |