aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/libopenjpegdec.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2012-03-26 02:01:23 +0000
committerMichael Niedermayer <michaelni@gmx.at>2012-03-26 05:01:57 +0200
commit02fb320adadacfc8446a1278582351078a024dee (patch)
tree22408b8bcc96f6654c8a42ae065da4ca021bd42e /libavcodec/libopenjpegdec.c
parent67d5fcc989a0ee3cc3b3a89e643ee7f099ca6229 (diff)
downloadandroid_external_ffmpeg-02fb320adadacfc8446a1278582351078a024dee.tar.gz
android_external_ffmpeg-02fb320adadacfc8446a1278582351078a024dee.tar.bz2
android_external_ffmpeg-02fb320adadacfc8446a1278582351078a024dee.zip
libopenjpegdec: always check image because decoding may still fail
Fixes bunch of segfaults. Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/libopenjpegdec.c')
-rw-r--r--libavcodec/libopenjpegdec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/libopenjpegdec.c b/libavcodec/libopenjpegdec.c
index 29724a2f9f..fced76d47d 100644
--- a/libavcodec/libopenjpegdec.c
+++ b/libavcodec/libopenjpegdec.c
@@ -295,6 +295,11 @@ static int libopenjpeg_decode_frame(AVCodecContext *avctx,
// Decode the codestream
image = opj_decode_with_info(dec, stream, NULL);
opj_cio_close(stream);
+ if(!image) {
+ av_log(avctx, AV_LOG_ERROR, "Error decoding codestream.\n");
+ opj_destroy_decompress(dec);
+ return -1;
+ }
pixel_size = av_pix_fmt_descriptors[avctx->pix_fmt].comp[0].step_minus1 + 1;
ispacked = libopenjpeg_ispacked(avctx->pix_fmt);