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>
(cherry picked from commit 711c970168)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This commit is contained in:
committed by
Luca Barbato
parent
9f7a8b8f8f
commit
20c8f17629
@@ -244,9 +244,11 @@ static void rv30_loop_filter(RV34DecContext *r, int row)
|
|||||||
static av_cold int rv30_decode_init(AVCodecContext *avctx)
|
static av_cold int rv30_decode_init(AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
RV34DecContext *r = avctx->priv_data;
|
RV34DecContext *r = avctx->priv_data;
|
||||||
|
int ret;
|
||||||
|
|
||||||
r->rv30 = 1;
|
r->rv30 = 1;
|
||||||
ff_rv34_decode_init(avctx);
|
if ((ret = ff_rv34_decode_init(avctx)) < 0)
|
||||||
|
return ret;
|
||||||
if(avctx->extradata_size < 2){
|
if(avctx->extradata_size < 2){
|
||||||
av_log(avctx, AV_LOG_ERROR, "Extradata is too small.\n");
|
av_log(avctx, AV_LOG_ERROR, "Extradata is too small.\n");
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
@@ -545,9 +545,11 @@ static void rv40_loop_filter(RV34DecContext *r, int row)
|
|||||||
static av_cold int rv40_decode_init(AVCodecContext *avctx)
|
static av_cold int rv40_decode_init(AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
RV34DecContext *r = avctx->priv_data;
|
RV34DecContext *r = avctx->priv_data;
|
||||||
|
int ret;
|
||||||
|
|
||||||
r->rv30 = 0;
|
r->rv30 = 0;
|
||||||
ff_rv34_decode_init(avctx);
|
if ((ret = ff_rv34_decode_init(avctx)) < 0)
|
||||||
|
return ret;
|
||||||
if(!aic_top_vlc.bits)
|
if(!aic_top_vlc.bits)
|
||||||
rv40_init_tables();
|
rv40_init_tables();
|
||||||
r->parse_slice_header = rv40_parse_slice_header;
|
r->parse_slice_header = rv40_parse_slice_header;
|
||||||
|
|||||||
Reference in New Issue
Block a user