summaryrefslogtreecommitdiff
path: root/libavfilter
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2021-06-05 19:54:45 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2021-10-06 14:41:41 +0200
commitad92dec581f70289406ce5eb2afa5299994a56ed (patch)
tree5578165c53a792fbe18fa71df5bb5f322ad5db13 /libavfilter
parent543c437bc2e13ad85f5dd5001273de11bff9cdac (diff)
downloadffmpeg-ad92dec581f70289406ce5eb2afa5299994a56ed.tar.gz
avfilter/vf_ciescope: Fix undefined behavior in rgb_to_xy() with black
Fixes: floating point division by 0 Fixes: undefined behavior in handling NaN Fixes: Ticket 8268 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 3d500e62f6206ad11308b18976246366aed8c1a5) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/vf_ciescope.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavfilter/vf_ciescope.c b/libavfilter/vf_ciescope.c
index d5a2c8c0ad..ed8a040e90 100644
--- a/libavfilter/vf_ciescope.c
+++ b/libavfilter/vf_ciescope.c
@@ -849,7 +849,8 @@ rgb_to_xy(double rc,
*z = m[2][0] * rc + m[2][1] * gc + m[2][2] * bc;
sum = *x + *y + *z;
-
+ if (sum == 0)
+ sum = 1;
*x = *x / sum;
*y = *y / sum;
}