diff options
author | Marti Maria <marti.maria@littlecms.com> | 2022-08-15 10:12:16 +0200 |
---|---|---|
committer | Marti Maria <marti.maria@littlecms.com> | 2022-08-15 10:12:16 +0200 |
commit | ebf575d837b0715e09277b693f83961143dbc48c (patch) | |
tree | ba38cc6e77c237ea77d27b877114a3d484c8e470 /src | |
parent | 959064542d2ea82f97bb409dda4df471efc53feb (diff) | |
download | lcms2-ebf575d837b0715e09277b693f83961143dbc48c.tar.gz |
prevent a division by zero
on a ill-formed parametric curve
Diffstat (limited to 'src')
-rw-r--r-- | src/cmsgamma.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cmsgamma.c b/src/cmsgamma.c index 0b02bd4..94c0aef 100644 --- a/src/cmsgamma.c +++ b/src/cmsgamma.c @@ -462,7 +462,8 @@ cmsFloat64Number DefaultEvalParametricFn(cmsInt32Number Type, const cmsFloat64Nu // X=-b/a | (Y<c) case -3: { - if (fabs(Params[1]) < MATRIX_DET_TOLERANCE) + if (fabs(Params[0]) < MATRIX_DET_TOLERANCE || + fabs(Params[1]) < MATRIX_DET_TOLERANCE) { Val = 0; } @@ -601,7 +602,8 @@ cmsFloat64Number DefaultEvalParametricFn(cmsInt32Number Type, const cmsFloat64Nu // ((Y - c) ^1/Gamma - b) / a case -6: { - if (fabs(Params[1]) < MATRIX_DET_TOLERANCE) + if (fabs(Params[0]) < MATRIX_DET_TOLERANCE || + fabs(Params[1]) < MATRIX_DET_TOLERANCE) { Val = 0; } |