[FFmpeg-cvslog] lavfi/paletteuse: check get_color return value

Timo Rothenpieler git at videolan.org
Mon Nov 13 21:49:18 EET 2017


ffmpeg | branch: master | Timo Rothenpieler <timo at rothenpieler.org> | Wed Nov  8 19:17:45 2017 +0100| [237ccd8a165d2128e8c6bcb14c8c6c3e793cfe05] | committer: Timo Rothenpieler

lavfi/paletteuse: check get_color return value

Fixes CID #1420396

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=237ccd8a165d2128e8c6bcb14c8c6c3e793cfe05
---

 libavfilter/vf_paletteuse.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavfilter/vf_paletteuse.c b/libavfilter/vf_paletteuse.c
index ed80ab04d5..1980907e70 100644
--- a/libavfilter/vf_paletteuse.c
+++ b/libavfilter/vf_paletteuse.c
@@ -380,8 +380,11 @@ static av_always_inline int get_dst_color_err(PaletteUseContext *s,
     const uint8_t r = c >> 16 & 0xff;
     const uint8_t g = c >>  8 & 0xff;
     const uint8_t b = c       & 0xff;
+    uint32_t dstc;
     const int dstx = color_get(s, c, a, r, g, b, search_method);
-    const uint32_t dstc = s->palette[dstx];
+    if (dstx < 0)
+        return dstx;
+    dstc = s->palette[dstx];
     *er = r - (dstc >> 16 & 0xff);
     *eg = g - (dstc >>  8 & 0xff);
     *eb = b - (dstc       & 0xff);



More information about the ffmpeg-cvslog mailing list