diff options
author | Janne Grunau <janne-libav@jannau.net> | 2012-07-02 10:46:39 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2012-10-06 09:46:08 +0200 |
commit | fd7426ed898533bed98e6b472ff5f5c8e47f2eb5 (patch) | |
tree | f31654e3c37ece03f0934117801ac430fa9fa390 /libavcodec | |
parent | 459feb7cce03af7154c098171fc9d36fc9d472f6 (diff) | |
download | ffmpeg-fd7426ed898533bed98e6b472ff5f5c8e47f2eb5.tar.gz |
imgconvert: avoid undefined left shift in avcodec_find_best_pix_fmt
CC: libav-stable@libav.org
(cherry picked from commit 39bb27bf79bc4c2d8beaed637a14176264cb1916)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit 7a7229b52d1900279041991fadbd29b27e8dfe95)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit 8812b5f164109553f009ce385e17a1af16b6ea53)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/imgconvert.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index 8f789c4ae0..ae8ec16543 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -851,7 +851,8 @@ static enum PixelFormat avcodec_find_best_pix_fmt1(int64_t pix_fmt_mask, /* find exact color match with smallest size */ dst_pix_fmt = PIX_FMT_NONE; min_dist = 0x7fffffff; - for(i = 0;i < PIX_FMT_NB; i++) { + /* test only the first 64 pixel formats to avoid undefined behaviour */ + for (i = 0; i < 64; i++) { if (pix_fmt_mask & (1ULL << i)) { loss = avcodec_get_pix_fmt_loss(i, src_pix_fmt, has_alpha) & loss_mask; if (loss == 0) { |