summaryrefslogtreecommitdiff
path: root/libavfilter
diff options
context:
space:
mode:
authorYiyuan GUO <yguoaz@gmail.com>2021-05-15 13:54:35 +0800
committerPaul B Mahol <onemda@gmail.com>2022-03-14 17:55:00 +0100
commit2201c91fbf672447aa2063bd752d821466b8f11b (patch)
treee907f5b89a97ad8f87cb3d8bfd5287ff3504ddb2 /libavfilter
parent910a24eb330694a24da20efd03706a7a6052bb77 (diff)
avfilter/vf_palettegen: add protection against potential divide by zero
In libavfilter/vf_palettegen.c, the function get_avg_color requires that box->len greater than zero to avoid dividing by zero. However, the call sequence filter_frame -> get_palette_frame -> get_avg_color may not satisfy this precondition. Fixes #9222. Signed-off-by: Yiyuan GUO <yguoaz@gmail.com>
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/vf_palettegen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavfilter/vf_palettegen.c b/libavfilter/vf_palettegen.c
index 4f53aa1aad..27f74fd147 100644
--- a/libavfilter/vf_palettegen.c
+++ b/libavfilter/vf_palettegen.c
@@ -528,7 +528,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
if (s->stats_mode == STATS_MODE_DIFF_FRAMES) {
av_frame_free(&s->prev_frame);
s->prev_frame = in;
- } else if (s->stats_mode == STATS_MODE_SINGLE_FRAMES) {
+ } else if (s->stats_mode == STATS_MODE_SINGLE_FRAMES && s->nb_refs > 0) {
AVFrame *out;
int i;