aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2013-09-16 16:01:02 +0300
committerMartin Storsjö <martin@martin.st>2013-09-17 11:33:37 +0300
commit711c970168297683860422e95d6b7e37ee3c8367 (patch)
tree09bed16febc6e6464345e09a242f0ec26cdb0db2 /libavcodec
parent569d18aa9dc989c37bb4d4b968026fe5afa6fff9 (diff)
downloadffmpeg-711c970168297683860422e95d6b7e37ee3c8367.tar.gz
rv34: Check the return value from ff_rv34_decode_init
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/rv30.c4
-rw-r--r--libavcodec/rv40.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/libavcodec/rv30.c b/libavcodec/rv30.c
index f1f33c54ec..265ede336b 100644
--- a/libavcodec/rv30.c
+++ b/libavcodec/rv30.c
@@ -243,9 +243,11 @@ static void rv30_loop_filter(RV34DecContext *r, int row)
static av_cold int rv30_decode_init(AVCodecContext *avctx)
{
RV34DecContext *r = avctx->priv_data;
+ int ret;
r->rv30 = 1;
- ff_rv34_decode_init(avctx);
+ if ((ret = ff_rv34_decode_init(avctx)) < 0)
+ return ret;
if(avctx->extradata_size < 2){
av_log(avctx, AV_LOG_ERROR, "Extradata is too small.\n");
return -1;
diff --git a/libavcodec/rv40.c b/libavcodec/rv40.c
index 6f8643dfbf..d43d16b928 100644
--- a/libavcodec/rv40.c
+++ b/libavcodec/rv40.c
@@ -544,9 +544,11 @@ static void rv40_loop_filter(RV34DecContext *r, int row)
static av_cold int rv40_decode_init(AVCodecContext *avctx)
{
RV34DecContext *r = avctx->priv_data;
+ int ret;
r->rv30 = 0;
- ff_rv34_decode_init(avctx);
+ if ((ret = ff_rv34_decode_init(avctx)) < 0)
+ return ret;
if(!aic_top_vlc.bits)
rv40_init_tables();
r->parse_slice_header = rv40_parse_slice_header;