diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2013-07-08 00:34:58 +0200 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2013-07-08 11:56:16 +0200 |
commit | b86651a208ee67666a7305b002bc9f14b21dae7f (patch) | |
tree | 95e04c1de06933b05d9d1722fb99a32438d39341 /libavcodec/rv30.c | |
parent | 5d3c3035b79891200f3167dc798fed7ebaab6eaf (diff) | |
download | ffmpeg-b86651a208ee67666a7305b002bc9f14b21dae7f.tar.gz |
Check the return value of ff_rv34_decode_init() in rv30.c and rv40.c
Avoids possible null pointer dereferences on oom.
Fixes ticket #2727.
Diffstat (limited to 'libavcodec/rv30.c')
-rw-r--r-- | libavcodec/rv30.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/rv30.c b/libavcodec/rv30.c index f40870ee9d..48d769142c 100644 --- a/libavcodec/rv30.c +++ b/libavcodec/rv30.c @@ -248,9 +248,12 @@ 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); + ret = ff_rv34_decode_init(avctx); + if (ret < 0) + return ret; if(avctx->extradata_size < 2){ av_log(avctx, AV_LOG_ERROR, "Extradata is too small.\n"); return -1; |