diff options
author | Timo Rothenpieler <timo@rothenpieler.org> | 2017-11-08 19:17:45 +0100 |
---|---|---|
committer | Timo Rothenpieler <timo@rothenpieler.org> | 2017-11-13 20:33:10 +0100 |
commit | 237ccd8a165d2128e8c6bcb14c8c6c3e793cfe05 (patch) | |
tree | 4bb2bfcf1241abac54dfd8b8f46eb84c58ac0d26 | |
parent | 8bcf5840ea2a6a92c75ab3219f89fe0b8a53cf50 (diff) | |
download | ffmpeg-237ccd8a165d2128e8c6bcb14c8c6c3e793cfe05.tar.gz |
lavfi/paletteuse: check get_color return value
Fixes CID #1420396
-rw-r--r-- | libavfilter/vf_paletteuse.c | 5 |
1 files changed, 4 insertions, 1 deletions
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); |