mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-28 20:53:54 +02:00
mpegaudiodec: check output data size based on avctx->frame_size
This commit is contained in:
parent
512557b291
commit
e2e6c8799b
@ -1795,7 +1795,7 @@ static int decode_frame(AVCodecContext * avctx, void *data, int *data_size,
|
|||||||
avctx->bit_rate = s->bit_rate;
|
avctx->bit_rate = s->bit_rate;
|
||||||
avctx->sub_id = s->layer;
|
avctx->sub_id = s->layer;
|
||||||
|
|
||||||
if (*data_size < 1152 * avctx->channels * sizeof(OUT_INT))
|
if (*data_size < avctx->frame_size * avctx->channels * sizeof(OUT_INT))
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
*data_size = 0;
|
*data_size = 0;
|
||||||
|
|
||||||
@ -1871,6 +1871,9 @@ static int decode_frame_adu(AVCodecContext *avctx, void *data, int *data_size,
|
|||||||
avctx->bit_rate = s->bit_rate;
|
avctx->bit_rate = s->bit_rate;
|
||||||
avctx->sub_id = s->layer;
|
avctx->sub_id = s->layer;
|
||||||
|
|
||||||
|
if (*data_size < avctx->frame_size * avctx->channels * sizeof(OUT_INT))
|
||||||
|
return AVERROR(EINVAL);
|
||||||
|
|
||||||
s->frame_size = len;
|
s->frame_size = len;
|
||||||
|
|
||||||
#if FF_API_PARSE_FRAME
|
#if FF_API_PARSE_FRAME
|
||||||
|
Loading…
Reference in New Issue
Block a user