diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-01-20 18:40:37 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-01-20 18:46:38 +0100 |
commit | 8001e9f7d17e90b4b0898ba64e3b8bbd716c513c (patch) | |
tree | 00fc0d931515a2611ad27eb0527511a38d840697 | |
parent | 723e7b86ea4d117c34a121512eddbcb32743b96e (diff) | |
download | ffmpeg-8001e9f7d17e90b4b0898ba64e3b8bbd716c513c.tar.gz |
avcodec/jpeg2000dec: fix error detection in pix_fmt_match()
Fixes out of array accesses with CODEC_FLAG_EMU_EDGE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/jpeg2000dec.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c index ddbf6c5351..41d8b79577 100644 --- a/libavcodec/jpeg2000dec.c +++ b/libavcodec/jpeg2000dec.c @@ -344,7 +344,7 @@ static int get_siz(Jpeg2000DecoderContext *s) break; } } - if (s->avctx->pix_fmt == AV_PIX_FMT_NONE) { + if (i == possible_fmts_nb) { av_log(s->avctx, AV_LOG_ERROR, "Unknown pix_fmt, profile: %d, colour_space: %d, " "components: %d, precision: %d, " @@ -354,6 +354,7 @@ static int get_siz(Jpeg2000DecoderContext *s) ncomponents > 2 ? s->cdy[1] : 0, ncomponents > 2 ? s->cdx[2] : 0, ncomponents > 2 ? s->cdy[2] : 0); + return AVERROR_PATCHWELCOME; } s->avctx->bits_per_raw_sample = s->precision; return 0; |